-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[AArch64][GISEL] Regenerate select tests with inline register classes #87013
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@arsenm Updated the whole test file with the inline syntax. Hope that's fine?! |
@llvm/pr-subscribers-llvm-globalisel @llvm/pr-subscribers-backend-aarch64 Author: Marc Auberer (marcauberer) ChangesUse inline register class syntax for select test file. Full diff: https://github.com/llvm/llvm-project/pull/87013.diff 1 Files Affected:
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/select.mir b/llvm/test/CodeGen/AArch64/GlobalISel/select.mir
index e207a31063bacf..b3613f52c4ec6e 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/select.mir
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/select.mir
@@ -1,3 +1,4 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 4
# RUN: llc -O0 -mtriple=aarch64-apple-ios -run-pass=instruction-select -global-isel-abort=1 -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=CHECK -check-prefix=IOS
# RUN: llc -O0 -mtriple=aarch64-linux-gnu -relocation-model=pic -run-pass=instruction-select -global-isel-abort=1 -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=CHECK -check-prefix=LINUX-PIC
@@ -26,40 +27,35 @@
...
---
-# CHECK-LABEL: name: frame_index
name: frame_index
legalized: true
regBankSelected: true
-
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gpr64sp, preferred-register: '' }
-registers:
- - { id: 0, class: gpr }
-
stack:
- { id: 0, name: ptr0, offset: 0, size: 8, alignment: 8 }
-
-# CHECK: body:
-# CHECK: %0:gpr64sp = ADDXri %stack.0.ptr0, 0, 0
body: |
bb.0:
- %0(p0) = G_FRAME_INDEX %stack.0.ptr0
+ ; CHECK-LABEL: name: frame_index
+ ; CHECK: [[ADDXri:%[0-9]+]]:gpr64sp = ADDXri %stack.0.ptr0, 0, 0
+ ; CHECK-NEXT: $x0 = COPY [[ADDXri]]
+ %0:gpr(p0) = G_FRAME_INDEX %stack.0.ptr0
$x0 = COPY %0(p0)
...
---
---
-# CHECK-LABEL: name: ptr_mask
name: ptr_mask
legalized: true
regBankSelected: true
-
-# CHECK: body:
-# CHECK: %2:gpr64sp = ANDXri %0, 8060
body: |
bb.0:
liveins: $x0
+ ; CHECK-LABEL: name: ptr_mask
+ ; CHECK: liveins: $x0
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x0
+ ; CHECK-NEXT: [[ANDXri:%[0-9]+]]:gpr64sp = ANDXri [[COPY]], 8060
+ ; CHECK-NEXT: $x0 = COPY [[ANDXri]]
%0:gpr(p0) = COPY $x0
%const:gpr(s64) = G_CONSTANT i64 -8
%1:gpr(p0) = G_PTRMASK %0, %const
@@ -68,200 +64,171 @@ body: |
---
# Global defined in the same linkage unit so no GOT is needed
-# CHECK-LABEL: name: global_local
name: global_local
legalized: true
regBankSelected: true
-registers:
- - { id: 0, class: gpr }
-
-# CHECK: body:
-# IOS: %0:gpr64common = MOVaddr target-flags(aarch64-page) @var_local, target-flags(aarch64-pageoff, aarch64-nc) @var_local
-# LINUX-PIC: %0:gpr64common = LOADgot target-flags(aarch64-got) @var_local
body: |
bb.0:
- %0(p0) = G_GLOBAL_VALUE @var_local
+ ; IOS-LABEL: name: global_local
+ ; IOS: [[MOVaddr:%[0-9]+]]:gpr64common = MOVaddr target-flags(aarch64-page) @var_local, target-flags(aarch64-pageoff, aarch64-nc) @var_local
+ ; IOS-NEXT: $x0 = COPY [[MOVaddr]]
+ ;
+ ; LINUX-PIC-LABEL: name: global_local
+ ; LINUX-PIC: [[LOADgot:%[0-9]+]]:gpr64common = LOADgot target-flags(aarch64-got) @var_local
+ ; LINUX-PIC-NEXT: $x0 = COPY [[LOADgot]]
+ %0:gpr(p0) = G_GLOBAL_VALUE @var_local
$x0 = COPY %0(p0)
...
---
-# CHECK-LABEL: name: global_got
name: global_got
legalized: true
regBankSelected: true
-registers:
- - { id: 0, class: gpr }
-
-# CHECK: body:
-# IOS: %0:gpr64common = LOADgot target-flags(aarch64-got) @var_got
-# LINUX-PIC: %0:gpr64common = LOADgot target-flags(aarch64-got) @var_got
body: |
bb.0:
- %0(p0) = G_GLOBAL_VALUE @var_got
+ ; CHECK-LABEL: name: global_got
+ ; CHECK: [[LOADgot:%[0-9]+]]:gpr64common = LOADgot target-flags(aarch64-got) @var_got
+ ; CHECK-NEXT: $x0 = COPY [[LOADgot]]
+ %0:gpr(p0) = G_GLOBAL_VALUE @var_got
$x0 = COPY %0(p0)
...
---
-# CHECK-LABEL: name: icmp
name: icmp
legalized: true
regBankSelected: true
-
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 1, class: gpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 2, class: gpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 3, class: gpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 4, class: gpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 5, class: gpr32, preferred-register: '' }
-registers:
- - { id: 0, class: gpr }
- - { id: 1, class: gpr }
- - { id: 2, class: gpr }
- - { id: 3, class: gpr }
- - { id: 4, class: gpr }
- - { id: 5, class: gpr }
- - { id: 6, class: gpr }
- - { id: 7, class: gpr }
- - { id: 8, class: gpr }
- - { id: 9, class: gpr }
- - { id: 10, class: gpr }
- - { id: 11, class: gpr }
-
-# CHECK: body:
-# CHECK: SUBSWrr %0, %0, implicit-def $nzcv
-# CHECK: %1:gpr32 = CSINCWr $wzr, $wzr, 1, implicit $nzcv
-
-# CHECK: SUBSXrr %2, %2, implicit-def $nzcv
-# CHECK: %3:gpr32 = CSINCWr $wzr, $wzr, 3, implicit $nzcv
-
-# CHECK: SUBSXrr %4, %4, implicit-def $nzcv
-# CHECK: %5:gpr32 = CSINCWr $wzr, $wzr, 0, implicit $nzcv
-
body: |
bb.0:
liveins: $w0, $x0
- %0(s32) = COPY $w0
- %1(s32) = G_ICMP intpred(eq), %0, %0
- %6(s8) = G_TRUNC %1(s32)
- %9(s32) = G_ANYEXT %6
+ ; CHECK-LABEL: name: icmp
+ ; CHECK: liveins: $w0, $x0
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr32 = COPY $w0
+ ; CHECK-NEXT: [[SUBSWrr:%[0-9]+]]:gpr32 = SUBSWrr [[COPY]], [[COPY]], implicit-def $nzcv
+ ; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 1, implicit $nzcv
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32all = COPY [[CSINCWr]]
+ ; CHECK-NEXT: $w0 = COPY [[COPY1]]
+ ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr64 = COPY $x0
+ ; CHECK-NEXT: [[SUBSXrr:%[0-9]+]]:gpr64 = SUBSXrr [[COPY2]], [[COPY2]], implicit-def $nzcv
+ ; CHECK-NEXT: [[CSINCWr1:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 3, implicit $nzcv
+ ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32all = COPY [[CSINCWr1]]
+ ; CHECK-NEXT: $w0 = COPY [[COPY3]]
+ ; CHECK-NEXT: [[COPY4:%[0-9]+]]:gpr64 = COPY $x0
+ ; CHECK-NEXT: [[SUBSXrr1:%[0-9]+]]:gpr64 = SUBSXrr [[COPY4]], [[COPY4]], implicit-def $nzcv
+ ; CHECK-NEXT: [[CSINCWr2:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 0, implicit $nzcv
+ ; CHECK-NEXT: [[COPY5:%[0-9]+]]:gpr32all = COPY [[CSINCWr2]]
+ ; CHECK-NEXT: $w0 = COPY [[COPY5]]
+ %0:gpr(s32) = COPY $w0
+ %1:gpr(s32) = G_ICMP intpred(eq), %0, %0
+ %6:gpr(s8) = G_TRUNC %1(s32)
+ %9:gpr(s32) = G_ANYEXT %6
$w0 = COPY %9(s32)
- %2(s64) = COPY $x0
- %3(s32) = G_ICMP intpred(uge), %2, %2
- %7(s8) = G_TRUNC %3(s32)
- %10(s32) = G_ANYEXT %7
+ %2:gpr(s64) = COPY $x0
+ %3:gpr(s32) = G_ICMP intpred(uge), %2, %2
+ %7:gpr(s8) = G_TRUNC %3(s32)
+ %10:gpr(s32) = G_ANYEXT %7
$w0 = COPY %10(s32)
- %4(p0) = COPY $x0
- %5(s32) = G_ICMP intpred(ne), %4, %4
- %8(s8) = G_TRUNC %5(s32)
- %11(s32) = G_ANYEXT %8
+ %4:gpr(p0) = COPY $x0
+ %5:gpr(s32) = G_ICMP intpred(ne), %4, %4
+ %8:gpr(s8) = G_TRUNC %5(s32)
+ %11:gpr(s32) = G_ANYEXT %8
$w0 = COPY %11(s32)
...
---
-# CHECK-LABEL: name: fcmp
name: fcmp
legalized: true
regBankSelected: true
-
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: fpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 1, class: gpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 2, class: fpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 3, class: gpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 4, class: gpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 5, class: gpr32, preferred-register: '' }
-registers:
- - { id: 0, class: fpr }
- - { id: 1, class: gpr }
- - { id: 2, class: fpr }
- - { id: 3, class: gpr }
- - { id: 4, class: gpr }
- - { id: 5, class: gpr }
- - { id: 6, class: gpr }
- - { id: 7, class: gpr }
- - { id: 8, class: fpr }
- - { id: 9, class: gpr }
- - { id: 10, class: fpr }
- - { id: 11, class: gpr }
- - { id: 12, class: gpr }
- - { id: 13, class: gpr }
- - { id: 14, class: gpr }
- - { id: 15, class: gpr }
-
-# CHECK: body:
-# CHECK: nofpexcept FCMPSrr %0, %0, implicit-def $nzcv
-# CHECK: [[TST_MI:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 5, implicit $nzcv
-# CHECK: [[TST_GT:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 13, implicit $nzcv
-# CHECK: %1:gpr32 = ORRWrr [[TST_MI]], [[TST_GT]]
-
-# CHECK: nofpexcept FCMPDrr %2, %2, implicit-def $nzcv
-# CHECK: %3:gpr32 = CSINCWr $wzr, $wzr, 4, implicit $nzcv
-
body: |
bb.0:
liveins: $w0, $x0
- %0(s32) = COPY $s0
- %1(s32) = G_FCMP floatpred(one), %0, %0
- %4(s8) = G_TRUNC %1(s32)
- %6(s32) = G_ANYEXT %4
- $w0 = COPY %6(s32)
+ ; CHECK-LABEL: name: fcmp
+ ; CHECK: liveins: $w0, $x0
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $s0
+ ; CHECK-NEXT: nofpexcept FCMPSrr [[COPY]], [[COPY]], implicit-def $nzcv, implicit $fpcr
+ ; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 5, implicit $nzcv
+ ; CHECK-NEXT: [[CSINCWr1:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 13, implicit $nzcv
+ ; CHECK-NEXT: [[ORRWrr:%[0-9]+]]:gpr32 = ORRWrr [[CSINCWr]], [[CSINCWr1]]
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32all = COPY [[ORRWrr]]
+ ; CHECK-NEXT: $w0 = COPY [[COPY1]]
+ ; CHECK-NEXT: [[COPY2:%[0-9]+]]:fpr64 = COPY $d0
+ ; CHECK-NEXT: nofpexcept FCMPDrr [[COPY2]], [[COPY2]], implicit-def $nzcv, implicit $fpcr
+ ; CHECK-NEXT: [[CSINCWr2:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 4, implicit $nzcv
+ ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr32all = COPY [[CSINCWr2]]
+ ; CHECK-NEXT: $w0 = COPY [[COPY3]]
+ ; CHECK-NEXT: [[COPY4:%[0-9]+]]:fpr32 = COPY $s0
+ ; CHECK-NEXT: nofpexcept FCMPSrr [[COPY4]], [[COPY4]], implicit-def $nzcv, implicit $fpcr
+ ; CHECK-NEXT: [[CSINCWr3:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 15, implicit $nzcv
+ ; CHECK-NEXT: [[COPY5:%[0-9]+]]:gpr32all = COPY [[CSINCWr3]]
+ ; CHECK-NEXT: $w0 = COPY [[COPY5]]
+ ; CHECK-NEXT: [[COPY6:%[0-9]+]]:fpr64 = COPY $d0
+ ; CHECK-NEXT: nofpexcept FCMPDrr [[COPY6]], [[COPY6]], implicit-def $nzcv, implicit $fpcr
+ ; CHECK-NEXT: [[CSINCWr4:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 14, implicit $nzcv
+ ; CHECK-NEXT: [[COPY7:%[0-9]+]]:gpr32all = COPY [[CSINCWr4]]
+ ; CHECK-NEXT: $w0 = COPY [[COPY7]]
+ %0:fpr(s32) = COPY $s0
+ %1:gpr(s32) = G_FCMP floatpred(one), %0, %0
+ %2:gpr(s8) = G_TRUNC %1(s32)
+ %3:gpr(s32) = G_ANYEXT %2
+ $w0 = COPY %3(s32)
- %2(s64) = COPY $d0
- %3(s32) = G_FCMP floatpred(uge), %2, %2
- %5(s8) = G_TRUNC %3(s32)
- %7(s32) = G_ANYEXT %5
+ %4:fpr(s64) = COPY $d0
+ %5:gpr(s32) = G_FCMP floatpred(uge), %4, %4
+ %6:gpr(s8) = G_TRUNC %5(s32)
+ %7:gpr(s32) = G_ANYEXT %6
$w0 = COPY %7(s32)
- %8(s32) = COPY $s0
- %9(s32) = G_FCMP floatpred(true), %8, %8
- %12(s8) = G_TRUNC %9(s32)
- %14(s32) = G_ANYEXT %12
- $w0 = COPY %14(s32)
+ %8:fpr(s32) = COPY $s0
+ %9:gpr(s32) = G_FCMP floatpred(true), %8, %8
+ %10:gpr(s8) = G_TRUNC %9(s32)
+ %11:gpr(s32) = G_ANYEXT %10
+ $w0 = COPY %11(s32)
- %10(s64) = COPY $d0
- %11(s32) = G_FCMP floatpred(false), %10, %10
- %13(s8) = G_TRUNC %11(s32)
- %15(s32) = G_ANYEXT %13
+ %12:fpr(s64) = COPY $d0
+ %13:gpr(s32) = G_FCMP floatpred(false), %12, %12
+ %14:gpr(s8) = G_TRUNC %13(s32)
+ %15:gpr(s32) = G_ANYEXT %14
$w0 = COPY %15(s32)
...
---
-# CHECK-LABEL: name: phi
name: phi
legalized: true
regBankSelected: true
tracksRegLiveness: true
-
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: fpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 1, class: gpr, preferred-register: '' }
-# CHECK-NEXT: - { id: 2, class: fpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 3, class: gpr32, preferred-register: '' }
-registers:
- - { id: 0, class: fpr }
- - { id: 1, class: gpr }
- - { id: 2, class: fpr }
-
-# CHECK: body:
-# CHECK: bb.1:
-# CHECK: %2:fpr32 = PHI %0, %bb.0, %2, %bb.1
-
body: |
+ ; CHECK-LABEL: name: phi
+ ; CHECK: bb.0:
+ ; CHECK-NEXT: successors: %bb.1(0x80000000)
+ ; CHECK-NEXT: liveins: $s0, $w0
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $s0
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32 = COPY $w0
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: bb.1:
+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[PHI:%[0-9]+]]:fpr32 = PHI [[COPY]], %bb.0, [[PHI]], %bb.1
+ ; CHECK-NEXT: TBNZW [[COPY1]], 0, %bb.1
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: bb.2:
+ ; CHECK-NEXT: $s0 = COPY [[PHI]]
+ ; CHECK-NEXT: RET_ReallyLR implicit $s0
bb.0:
liveins: $s0, $w0
successors: %bb.1
- %0(s32) = COPY $s0
+ %0:fpr(s32) = COPY $s0
%3:gpr(s32) = COPY $w0
bb.1:
successors: %bb.1, %bb.2
- %2(s32) = PHI %0, %bb.0, %2, %bb.1
+ %2:fpr(s32) = PHI %0, %bb.0, %2, %bb.1
G_BRCOND %3, %bb.1
bb.2:
@@ -270,60 +237,46 @@ body: |
...
---
-# CHECK-LABEL: name: select
name: select
legalized: true
regBankSelected: true
tracksRegLiveness: true
-
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gpr, preferred-register: '' }
-# CHECK-NEXT: - { id: 1, class: gpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 2, class: gpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 3, class: gpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 4, class: gpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 5, class: gpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 6, class: gpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 7, class: gpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 8, class: gpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 9, class: gpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 10, class: gpr32, preferred-register: '' }
-registers:
- - { id: 0, class: gpr }
- - { id: 1, class: gpr }
- - { id: 2, class: gpr }
- - { id: 3, class: gpr }
- - { id: 4, class: gpr }
- - { id: 5, class: gpr }
- - { id: 6, class: gpr }
- - { id: 7, class: gpr }
- - { id: 8, class: gpr }
- - { id: 9, class: gpr }
-
-# CHECK: body:
-# CHECK: ANDSWri %10, 0, implicit-def $nzcv
-# CHECK: %3:gpr32 = CSELWr %1, %2, 1, implicit $nzcv
-# CHECK: ANDSWri %10, 0, implicit-def $nzcv
-# CHECK: %6:gpr64 = CSELXr %4, %5, 1, implicit $nzcv
-# CHECK: ANDSWri %10, 0, implicit-def $nzcv
-# CHECK: %9:gpr64 = CSELXr %7, %8, 1, implicit $nzcv
body: |
bb.0:
liveins: $w0, $w1, $w2
+ ; CHECK-LABEL: name: select
+ ; CHECK: liveins: $w0, $w1, $w2
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr32 = COPY $w0
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32 = COPY $w1
+ ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY $w2
+ ; CHECK-NEXT: [[ANDSWri:%[0-9]+]]:gpr32 = ANDSWri [[COPY]], 0, implicit-def $nzcv
+ ; CHECK-NEXT: [[CSELWr:%[0-9]+]]:gpr32 = CSELWr [[COPY1]], [[COPY2]], 1, implicit $nzcv
+ ; CHECK-NEXT: $w0 = COPY [[CSELWr]]
+ ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr64 = COPY $x0
+ ; CHECK-NEXT: [[COPY4:%[0-9]+]]:gpr64 = COPY $x1
+ ; CHECK-NEXT: [[ANDSWri1:%[0-9]+]]:gpr32 = ANDSWri [[COPY]], 0, implicit-def $nzcv
+ ; CHECK-NEXT: [[CSELXr:%[0-9]+]]:gpr64 = CSELXr [[COPY3]], [[COPY4]], 1, implicit $nzcv
+ ; CHECK-NEXT: $x0 = COPY [[CSELXr]]
+ ; CHECK-NEXT: [[COPY5:%[0-9]+]]:gpr64 = COPY $x0
+ ; CHECK-NEXT: [[COPY6:%[0-9]+]]:gpr64 = COPY $x1
+ ; CHECK-NEXT: [[ANDSWri2:%[0-9]+]]:gpr32 = ANDSWri [[COPY]], 0, implicit-def $nzcv
+ ; CHECK-NEXT: [[CSELXr1:%[0-9]+]]:gpr64 = CSELXr [[COPY5]], [[COPY6]], 1, implicit $nzcv
+ ; CHECK-NEXT: $x0 = COPY [[CSELXr1]]
%10:gpr(s32) = COPY $w0
- %1(s32) = COPY $w1
- %2(s32) = COPY $w2
- %3(s32) = G_SELECT %10, %1, %2
+ %1:gpr(s32) = COPY $w1
+ %2:gpr(s32) = COPY $w2
+ %3:gpr(s32) = G_SELECT %10, %1, %2
$w0 = COPY %3(s32)
- %4(s64) = COPY $x0
- %5(s64) = COPY $x1
- %6(s64) = G_SELECT %10, %4, %5
+ %4:gpr(s64) = COPY $x0
+ %5:gpr(s64) = COPY $x1
+ %6:gpr(s64) = G_SELECT %10, %4, %5
$x0 = COPY %6(s64)
- %7(p0) = COPY $x0
- %8(p0) = COPY $x1
- %9(p0) = G_SELECT %10, %7, %8
+ %7:gpr(p0) = COPY $x0
+ %8:gpr(p0) = COPY $x1
+ %9:gpr(p0) = G_SELECT %10, %7, %8
$x0 = COPY %9(p0)
...
|
arsenm
approved these changes
Mar 29, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Use inline register class syntax for select test file.