mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[AArch64][GlobalISel] Test default regbank mapping for G_ICMP.
Also relax a RegisterBankInfo verifier check that's incompatible with 1-bit mappings. llvm-svn: 281735
This commit is contained in:
parent
1fd329a7e8
commit
33be9e7185
@ -390,7 +390,7 @@ void RegisterBankInfo::PartialMapping::dump() const {
|
||||
bool RegisterBankInfo::PartialMapping::verify() const {
|
||||
assert(RegBank && "Register bank not set");
|
||||
assert(Length && "Empty mapping");
|
||||
assert((StartIdx < getHighBitIdx()) && "Overflow, switch to APInt?");
|
||||
assert((StartIdx <= getHighBitIdx()) && "Overflow, switch to APInt?");
|
||||
// Check if the minimum width fits into RegBank.
|
||||
assert(RegBank->getSize() >= Length && "Register bank too small for Mask");
|
||||
return true;
|
||||
|
@ -35,6 +35,9 @@
|
||||
define void @test_constant_s32() { ret void }
|
||||
define void @test_constant_p0() { ret void }
|
||||
|
||||
define void @test_icmp_s32() { ret void }
|
||||
define void @test_icmp_p0() { ret void }
|
||||
|
||||
define void @test_frame_index_p0() {
|
||||
%ptr0 = alloca i64
|
||||
ret void
|
||||
@ -493,6 +496,44 @@ body: |
|
||||
%0(p0) = G_CONSTANT 0
|
||||
...
|
||||
|
||||
---
|
||||
# CHECK-LABEL: name: test_icmp_s32
|
||||
name: test_icmp_s32
|
||||
legalized: true
|
||||
# CHECK: registers:
|
||||
# CHECK: - { id: 0, class: gpr }
|
||||
# CHECK: - { id: 1, class: gpr }
|
||||
registers:
|
||||
- { id: 0, class: _ }
|
||||
- { id: 1, class: _ }
|
||||
body: |
|
||||
bb.0:
|
||||
liveins: %w0
|
||||
; CHECK: %0(s32) = COPY %w0
|
||||
; CHECK: %1(s1) = G_ICMP intpred(ne), %0(s32), %0
|
||||
%0(s32) = COPY %w0
|
||||
%1(s1) = G_ICMP intpred(ne), %0, %0
|
||||
...
|
||||
|
||||
---
|
||||
# CHECK-LABEL: name: test_icmp_p0
|
||||
name: test_icmp_p0
|
||||
legalized: true
|
||||
# CHECK: registers:
|
||||
# CHECK: - { id: 0, class: gpr }
|
||||
# CHECK: - { id: 1, class: gpr }
|
||||
registers:
|
||||
- { id: 0, class: _ }
|
||||
- { id: 1, class: _ }
|
||||
body: |
|
||||
bb.0:
|
||||
liveins: %x0
|
||||
; CHECK: %0(p0) = COPY %x0
|
||||
; CHECK: %1(s1) = G_ICMP intpred(ne), %0(p0), %0
|
||||
%0(p0) = COPY %x0
|
||||
%1(s1) = G_ICMP intpred(ne), %0, %0
|
||||
...
|
||||
|
||||
---
|
||||
# CHECK-LABEL: name: test_frame_index_p0
|
||||
name: test_frame_index_p0
|
||||
|
Loading…
x
Reference in New Issue
Block a user