Skip to content

Commit a8dd7bc

Browse files
committed
[X86] Remove LOW32_ADDR_ACCESS_RBP RegisterClass
This removes the LOW32_ADDR_ACCESS_RBP RegisterClass and refreshes all affected codegen tests Fixes #155430
1 parent fb87708 commit a8dd7bc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1271
-1262
lines changed

llvm/lib/Target/X86/X86ISelLowering.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61665,7 +61665,7 @@ static bool isGRClass(const TargetRegisterClass &RC) {
6166561665
RC.hasSuperClassEq(&X86::GR16RegClass) ||
6166661666
RC.hasSuperClassEq(&X86::GR32RegClass) ||
6166761667
RC.hasSuperClassEq(&X86::GR64RegClass) ||
61668-
RC.hasSuperClassEq(&X86::LOW32_ADDR_ACCESS_RBPRegClass);
61668+
RC.hasSuperClassEq(&X86::LOW32_ADDR_ACCESSRegClass);
6166961669
}
6167061670

6167161671
/// Check if \p RC is a vector register class.

llvm/lib/Target/X86/X86RegisterInfo.td

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -716,10 +716,6 @@ def GR64_NOREX2_NOSP : RegisterClass<"X86", [i64], 64,
716716
// which we do not have right now.
717717
def LOW32_ADDR_ACCESS : RegisterClass<"X86", [i32], 32, (add GR32, RIP)>;
718718

719-
// FIXME: This is unused, but deleting it results in codegen changes
720-
def LOW32_ADDR_ACCESS_RBP : RegisterClass<"X86", [i32], 32,
721-
(add LOW32_ADDR_ACCESS, RBP)>;
722-
723719
// A class to support the 'A' assembler constraint: [ER]AX then [ER]DX.
724720
def GR32_AD : RegisterClass<"X86", [i32], 32, (add EAX, EDX)>;
725721
def GR64_AD : RegisterClass<"X86", [i64], 64, (add RAX, RDX)>;

llvm/test/CodeGen/MIR/X86/inline-asm-registers.mir

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ body: |
2828
liveins: $rdi, $rsi
2929
3030
; CHECK-LABEL: name: test
31-
; CHECK: INLINEASM &foo, 0 /* attdialect */, 4784138 /* regdef:GR64 */, def $rsi, 4784138 /* regdef:GR64 */, def dead $rdi,
32-
INLINEASM &foo, 0, 4784138, def $rsi, 4784138, def dead $rdi, 2147549193, killed $rdi, 2147483657, killed $rsi, 12, implicit-def dead early-clobber $eflags
31+
; CHECK: INLINEASM &foo, 0 /* attdialect */, 4390922 /* regdef:GR64 */, def $rsi, 4390922 /* regdef:GR64 */, def dead $rdi,
32+
INLINEASM &foo, 0, 4390922, def $rsi, 4390922, def dead $rdi, 2147549193, killed $rdi, 2147483657, killed $rsi, 12, implicit-def dead early-clobber $eflags
3333
$rax = MOV64rr killed $rsi
3434
RET64 killed $rax
3535
...
@@ -45,8 +45,8 @@ body: |
4545
4646
; Verify that the register ties are preserved.
4747
; CHECK-LABEL: name: test2
48-
; CHECK: INLINEASM &foo, 0 /* attdialect */, 4784138 /* regdef:GR64 */, def $rsi, 4784138 /* regdef:GR64 */, def dead $rdi, 2147549193 /* reguse tiedto:$1 */, killed $rdi(tied-def 5), 2147483657 /* reguse tiedto:$0 */, killed $rsi(tied-def 3), 12 /* clobber */, implicit-def dead early-clobber $eflags
49-
INLINEASM &foo, 0, 4784138, def $rsi, 4784138, def dead $rdi, 2147549193, killed $rdi(tied-def 5), 2147483657, killed $rsi(tied-def 3), 12, implicit-def dead early-clobber $eflags
48+
; CHECK: INLINEASM &foo, 0 /* attdialect */, 4390922 /* regdef:GR64 */, def $rsi, 4390922 /* regdef:GR64 */, def dead $rdi, 2147549193 /* reguse tiedto:$1 */, killed $rdi(tied-def 5), 2147483657 /* reguse tiedto:$0 */, killed $rsi(tied-def 3), 12 /* clobber */, implicit-def dead early-clobber $eflags
49+
INLINEASM &foo, 0, 4390922, def $rsi, 4390922, def dead $rdi, 2147549193, killed $rdi(tied-def 5), 2147483657, killed $rsi(tied-def 3), 12, implicit-def dead early-clobber $eflags
5050
$rax = MOV64rr killed $rsi
5151
RET64 killed $rax
5252
...

llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_print.txt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6930,18 +6930,14 @@ Key: PhyReg_VK2PAIR: [ 0.00 0.00 ]
69306930
Key: PhyReg_VK4PAIR: [ 0.00 0.00 ]
69316931
Key: PhyReg_VK8PAIR: [ 0.00 0.00 ]
69326932
Key: PhyReg_VK1PAIR_with_sub_mask_0_in_VK1WM: [ 0.00 0.00 ]
6933-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP: [ 0.00 0.00 ]
69346933
Key: PhyReg_LOW32_ADDR_ACCESS: [ 0.00 0.00 ]
6935-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_8bit: [ 0.00 0.00 ]
69366934
Key: PhyReg_FR32X: [ 0.00 0.00 ]
69376935
Key: PhyReg_GR32: [ 0.50 0.50 ]
69386936
Key: PhyReg_GR32_NOSP: [ 0.00 0.00 ]
6939-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2: [ 0.00 0.00 ]
69406937
Key: PhyReg_DEBUG_REG: [ 0.00 0.00 ]
69416938
Key: PhyReg_FR32: [ 0.00 0.00 ]
69426939
Key: PhyReg_GR32_NOREX2: [ 0.00 0.00 ]
69436940
Key: PhyReg_GR32_NOREX2_NOSP: [ 0.00 0.00 ]
6944-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX: [ 0.00 0.00 ]
69456941
Key: PhyReg_GR32_NOREX: [ 0.00 0.00 ]
69466942
Key: PhyReg_VK32: [ 0.00 0.00 ]
69476943
Key: PhyReg_GR32_NOREX_NOSP: [ 0.00 0.00 ]
@@ -6958,7 +6954,6 @@ Key: PhyReg_GR32_CB: [ 0.00 0.00 ]
69586954
Key: PhyReg_GR32_DC: [ 0.00 0.00 ]
69596955
Key: PhyReg_GR32_DIBP: [ 0.00 0.00 ]
69606956
Key: PhyReg_GR32_SIDI: [ 0.00 0.00 ]
6961-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_32bit: [ 0.00 0.00 ]
69626957
Key: PhyReg_CCR: [ 0.00 0.00 ]
69636958
Key: PhyReg_DFCCR: [ 0.00 0.00 ]
69646959
Key: PhyReg_GR32_ABCD_and_GR32_BSI: [ 0.00 0.00 ]
@@ -6968,7 +6963,6 @@ Key: PhyReg_GR32_BPSP_and_GR32_DIBP: [ 0.00 0.00 ]
69686963
Key: PhyReg_GR32_BPSP_and_GR32_TC: [ 0.00 0.00 ]
69696964
Key: PhyReg_GR32_BSI_and_GR32_SIDI: [ 0.00 0.00 ]
69706965
Key: PhyReg_GR32_DIBP_and_GR32_SIDI: [ 0.00 0.00 ]
6971-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit: [ 0.00 0.00 ]
69726966
Key: PhyReg_LOW32_ADDR_ACCESS_with_sub_32bit: [ 0.00 0.00 ]
69736967
Key: PhyReg_RFP64: [ 0.00 0.00 ]
69746968
Key: PhyReg_GR64: [ 0.60 0.60 ]
@@ -7007,7 +7001,6 @@ Key: PhyReg_GR64_with_sub_32bit_in_GR32_TC: [ 0.00 0.00 ]
70077001
Key: PhyReg_GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC: [ 0.00 0.00 ]
70087002
Key: PhyReg_GR64_AD: [ 0.00 0.00 ]
70097003
Key: PhyReg_GR64_ArgRef: [ 0.00 0.00 ]
7010-
Key: PhyReg_GR64_and_LOW32_ADDR_ACCESS_RBP: [ 0.00 0.00 ]
70117004
Key: PhyReg_GR64_with_sub_32bit_in_GR32_ArgRef: [ 0.00 0.00 ]
70127005
Key: PhyReg_GR64_with_sub_32bit_in_GR32_BPSP: [ 0.00 0.00 ]
70137006
Key: PhyReg_GR64_with_sub_32bit_in_GR32_BSI: [ 0.00 0.00 ]
@@ -7066,18 +7059,14 @@ Key: VirtReg_VK2PAIR: [ 0.00 0.00 ]
70667059
Key: VirtReg_VK4PAIR: [ 0.00 0.00 ]
70677060
Key: VirtReg_VK8PAIR: [ 0.00 0.00 ]
70687061
Key: VirtReg_VK1PAIR_with_sub_mask_0_in_VK1WM: [ 0.00 0.00 ]
7069-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP: [ 0.00 0.00 ]
70707062
Key: VirtReg_LOW32_ADDR_ACCESS: [ 0.00 0.00 ]
7071-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_8bit: [ 0.00 0.00 ]
70727063
Key: VirtReg_FR32X: [ 0.00 0.00 ]
70737064
Key: VirtReg_GR32: [ 0.80 0.80 ]
70747065
Key: VirtReg_GR32_NOSP: [ 0.00 0.00 ]
7075-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2: [ 0.00 0.00 ]
70767066
Key: VirtReg_DEBUG_REG: [ 0.00 0.00 ]
70777067
Key: VirtReg_FR32: [ 0.00 0.00 ]
70787068
Key: VirtReg_GR32_NOREX2: [ 0.00 0.00 ]
70797069
Key: VirtReg_GR32_NOREX2_NOSP: [ 0.00 0.00 ]
7080-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX: [ 0.00 0.00 ]
70817070
Key: VirtReg_GR32_NOREX: [ 0.00 0.00 ]
70827071
Key: VirtReg_VK32: [ 0.00 0.00 ]
70837072
Key: VirtReg_GR32_NOREX_NOSP: [ 0.00 0.00 ]
@@ -7094,7 +7083,6 @@ Key: VirtReg_GR32_CB: [ 0.00 0.00 ]
70947083
Key: VirtReg_GR32_DC: [ 0.00 0.00 ]
70957084
Key: VirtReg_GR32_DIBP: [ 0.00 0.00 ]
70967085
Key: VirtReg_GR32_SIDI: [ 0.00 0.00 ]
7097-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_32bit: [ 0.00 0.00 ]
70987086
Key: VirtReg_CCR: [ 0.00 0.00 ]
70997087
Key: VirtReg_DFCCR: [ 0.00 0.00 ]
71007088
Key: VirtReg_GR32_ABCD_and_GR32_BSI: [ 0.00 0.00 ]
@@ -7104,7 +7092,6 @@ Key: VirtReg_GR32_BPSP_and_GR32_DIBP: [ 0.00 0.00 ]
71047092
Key: VirtReg_GR32_BPSP_and_GR32_TC: [ 0.00 0.00 ]
71057093
Key: VirtReg_GR32_BSI_and_GR32_SIDI: [ 0.00 0.00 ]
71067094
Key: VirtReg_GR32_DIBP_and_GR32_SIDI: [ 0.00 0.00 ]
7107-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit: [ 0.00 0.00 ]
71087095
Key: VirtReg_LOW32_ADDR_ACCESS_with_sub_32bit: [ 0.00 0.00 ]
71097096
Key: VirtReg_RFP64: [ 0.00 0.00 ]
71107097
Key: VirtReg_GR64: [ 0.90 0.90 ]
@@ -7143,7 +7130,6 @@ Key: VirtReg_GR64_with_sub_32bit_in_GR32_TC: [ 0.00 0.00 ]
71437130
Key: VirtReg_GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC: [ 0.00 0.00 ]
71447131
Key: VirtReg_GR64_AD: [ 0.00 0.00 ]
71457132
Key: VirtReg_GR64_ArgRef: [ 0.00 0.00 ]
7146-
Key: VirtReg_GR64_and_LOW32_ADDR_ACCESS_RBP: [ 0.00 0.00 ]
71477133
Key: VirtReg_GR64_with_sub_32bit_in_GR32_ArgRef: [ 0.00 0.00 ]
71487134
Key: VirtReg_GR64_with_sub_32bit_in_GR32_BPSP: [ 0.00 0.00 ]
71497135
Key: VirtReg_GR64_with_sub_32bit_in_GR32_BSI: [ 0.00 0.00 ]

llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_wo=0.5_print.txt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6930,18 +6930,14 @@ Key: PhyReg_VK2PAIR: [ 0.00 0.00 ]
69306930
Key: PhyReg_VK4PAIR: [ 0.00 0.00 ]
69316931
Key: PhyReg_VK8PAIR: [ 0.00 0.00 ]
69326932
Key: PhyReg_VK1PAIR_with_sub_mask_0_in_VK1WM: [ 0.00 0.00 ]
6933-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP: [ 0.00 0.00 ]
69346933
Key: PhyReg_LOW32_ADDR_ACCESS: [ 0.00 0.00 ]
6935-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_8bit: [ 0.00 0.00 ]
69366934
Key: PhyReg_FR32X: [ 0.00 0.00 ]
69376935
Key: PhyReg_GR32: [ 0.50 0.50 ]
69386936
Key: PhyReg_GR32_NOSP: [ 0.00 0.00 ]
6939-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2: [ 0.00 0.00 ]
69406937
Key: PhyReg_DEBUG_REG: [ 0.00 0.00 ]
69416938
Key: PhyReg_FR32: [ 0.00 0.00 ]
69426939
Key: PhyReg_GR32_NOREX2: [ 0.00 0.00 ]
69436940
Key: PhyReg_GR32_NOREX2_NOSP: [ 0.00 0.00 ]
6944-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX: [ 0.00 0.00 ]
69456941
Key: PhyReg_GR32_NOREX: [ 0.00 0.00 ]
69466942
Key: PhyReg_VK32: [ 0.00 0.00 ]
69476943
Key: PhyReg_GR32_NOREX_NOSP: [ 0.00 0.00 ]
@@ -6958,7 +6954,6 @@ Key: PhyReg_GR32_CB: [ 0.00 0.00 ]
69586954
Key: PhyReg_GR32_DC: [ 0.00 0.00 ]
69596955
Key: PhyReg_GR32_DIBP: [ 0.00 0.00 ]
69606956
Key: PhyReg_GR32_SIDI: [ 0.00 0.00 ]
6961-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_32bit: [ 0.00 0.00 ]
69626957
Key: PhyReg_CCR: [ 0.00 0.00 ]
69636958
Key: PhyReg_DFCCR: [ 0.00 0.00 ]
69646959
Key: PhyReg_GR32_ABCD_and_GR32_BSI: [ 0.00 0.00 ]
@@ -6968,7 +6963,6 @@ Key: PhyReg_GR32_BPSP_and_GR32_DIBP: [ 0.00 0.00 ]
69686963
Key: PhyReg_GR32_BPSP_and_GR32_TC: [ 0.00 0.00 ]
69696964
Key: PhyReg_GR32_BSI_and_GR32_SIDI: [ 0.00 0.00 ]
69706965
Key: PhyReg_GR32_DIBP_and_GR32_SIDI: [ 0.00 0.00 ]
6971-
Key: PhyReg_LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit: [ 0.00 0.00 ]
69726966
Key: PhyReg_LOW32_ADDR_ACCESS_with_sub_32bit: [ 0.00 0.00 ]
69736967
Key: PhyReg_RFP64: [ 0.00 0.00 ]
69746968
Key: PhyReg_GR64: [ 0.60 0.60 ]
@@ -7007,7 +7001,6 @@ Key: PhyReg_GR64_with_sub_32bit_in_GR32_TC: [ 0.00 0.00 ]
70077001
Key: PhyReg_GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC: [ 0.00 0.00 ]
70087002
Key: PhyReg_GR64_AD: [ 0.00 0.00 ]
70097003
Key: PhyReg_GR64_ArgRef: [ 0.00 0.00 ]
7010-
Key: PhyReg_GR64_and_LOW32_ADDR_ACCESS_RBP: [ 0.00 0.00 ]
70117004
Key: PhyReg_GR64_with_sub_32bit_in_GR32_ArgRef: [ 0.00 0.00 ]
70127005
Key: PhyReg_GR64_with_sub_32bit_in_GR32_BPSP: [ 0.00 0.00 ]
70137006
Key: PhyReg_GR64_with_sub_32bit_in_GR32_BSI: [ 0.00 0.00 ]
@@ -7066,18 +7059,14 @@ Key: VirtReg_VK2PAIR: [ 0.00 0.00 ]
70667059
Key: VirtReg_VK4PAIR: [ 0.00 0.00 ]
70677060
Key: VirtReg_VK8PAIR: [ 0.00 0.00 ]
70687061
Key: VirtReg_VK1PAIR_with_sub_mask_0_in_VK1WM: [ 0.00 0.00 ]
7069-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP: [ 0.00 0.00 ]
70707062
Key: VirtReg_LOW32_ADDR_ACCESS: [ 0.00 0.00 ]
7071-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_8bit: [ 0.00 0.00 ]
70727063
Key: VirtReg_FR32X: [ 0.00 0.00 ]
70737064
Key: VirtReg_GR32: [ 0.80 0.80 ]
70747065
Key: VirtReg_GR32_NOSP: [ 0.00 0.00 ]
7075-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2: [ 0.00 0.00 ]
70767066
Key: VirtReg_DEBUG_REG: [ 0.00 0.00 ]
70777067
Key: VirtReg_FR32: [ 0.00 0.00 ]
70787068
Key: VirtReg_GR32_NOREX2: [ 0.00 0.00 ]
70797069
Key: VirtReg_GR32_NOREX2_NOSP: [ 0.00 0.00 ]
7080-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX: [ 0.00 0.00 ]
70817070
Key: VirtReg_GR32_NOREX: [ 0.00 0.00 ]
70827071
Key: VirtReg_VK32: [ 0.00 0.00 ]
70837072
Key: VirtReg_GR32_NOREX_NOSP: [ 0.00 0.00 ]
@@ -7094,7 +7083,6 @@ Key: VirtReg_GR32_CB: [ 0.00 0.00 ]
70947083
Key: VirtReg_GR32_DC: [ 0.00 0.00 ]
70957084
Key: VirtReg_GR32_DIBP: [ 0.00 0.00 ]
70967085
Key: VirtReg_GR32_SIDI: [ 0.00 0.00 ]
7097-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_32bit: [ 0.00 0.00 ]
70987086
Key: VirtReg_CCR: [ 0.00 0.00 ]
70997087
Key: VirtReg_DFCCR: [ 0.00 0.00 ]
71007088
Key: VirtReg_GR32_ABCD_and_GR32_BSI: [ 0.00 0.00 ]
@@ -7104,7 +7092,6 @@ Key: VirtReg_GR32_BPSP_and_GR32_DIBP: [ 0.00 0.00 ]
71047092
Key: VirtReg_GR32_BPSP_and_GR32_TC: [ 0.00 0.00 ]
71057093
Key: VirtReg_GR32_BSI_and_GR32_SIDI: [ 0.00 0.00 ]
71067094
Key: VirtReg_GR32_DIBP_and_GR32_SIDI: [ 0.00 0.00 ]
7107-
Key: VirtReg_LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit: [ 0.00 0.00 ]
71087095
Key: VirtReg_LOW32_ADDR_ACCESS_with_sub_32bit: [ 0.00 0.00 ]
71097096
Key: VirtReg_RFP64: [ 0.00 0.00 ]
71107097
Key: VirtReg_GR64: [ 0.90 0.90 ]
@@ -7143,7 +7130,6 @@ Key: VirtReg_GR64_with_sub_32bit_in_GR32_TC: [ 0.00 0.00 ]
71437130
Key: VirtReg_GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC: [ 0.00 0.00 ]
71447131
Key: VirtReg_GR64_AD: [ 0.00 0.00 ]
71457132
Key: VirtReg_GR64_ArgRef: [ 0.00 0.00 ]
7146-
Key: VirtReg_GR64_and_LOW32_ADDR_ACCESS_RBP: [ 0.00 0.00 ]
71477133
Key: VirtReg_GR64_with_sub_32bit_in_GR32_ArgRef: [ 0.00 0.00 ]
71487134
Key: VirtReg_GR64_with_sub_32bit_in_GR32_BPSP: [ 0.00 0.00 ]
71497135
Key: VirtReg_GR64_with_sub_32bit_in_GR32_BSI: [ 0.00 0.00 ]

llvm/test/CodeGen/X86/GlobalISel/select-copy.mir

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,16 +185,16 @@ regBankSelected: true
185185
# ALL: registers:
186186
# ALL-NEXT: - { id: 0, class: gr32, preferred-register: '', flags: [ ] }
187187
# ALL-NEXT: - { id: 1, class: gr16, preferred-register: '', flags: [ ] }
188-
# ALL-NEXT: - { id: 2, class: low32_addr_access_rbp, preferred-register: '', flags: [ ] }
189-
# ALL-NEXT: - { id: 3, class: low32_addr_access_rbp, preferred-register: '', flags: [ ] }
188+
# ALL-NEXT: - { id: 2, class: low32_addr_access, preferred-register: '', flags: [ ] }
189+
# ALL-NEXT: - { id: 3, class: low32_addr_access, preferred-register: '', flags: [ ] }
190190
registers:
191191
- { id: 0, class: gpr, preferred-register: '' }
192192
- { id: 1, class: gpr, preferred-register: '' }
193193
- { id: 2, class: gpr, preferred-register: '' }
194194
# ALL: %0:gr32 = COPY $edx
195195
# ALL-NEXT: %1:gr16 = COPY %0.sub_16bit
196-
# ALL-NEXT: %3:low32_addr_access_rbp = IMPLICIT_DEF
197-
# ALL-NEXT: %2:low32_addr_access_rbp = INSERT_SUBREG %3, %1, %subreg.sub_16bit
196+
# ALL-NEXT: %3:low32_addr_access = IMPLICIT_DEF
197+
# ALL-NEXT: %2:low32_addr_access = INSERT_SUBREG %3, %1, %subreg.sub_16bit
198198
# ALL-NEXT: $eax = COPY %2
199199
# ALL-NEXT: RET 0, implicit $eax
200200
body: |

llvm/test/CodeGen/X86/GlobalISel/select-ext.mir

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -448,15 +448,15 @@ body: |
448448
; X86-LABEL: name: test_anyext_i16toi32
449449
; X86: [[COPY:%[0-9]+]]:gr32 = COPY $edi
450450
; X86-NEXT: [[COPY1:%[0-9]+]]:gr16 = COPY [[COPY]].sub_16bit
451-
; X86-NEXT: [[DEF:%[0-9]+]]:low32_addr_access_rbp = IMPLICIT_DEF
452-
; X86-NEXT: [[INSERT_SUBREG:%[0-9]+]]:low32_addr_access_rbp = INSERT_SUBREG [[DEF]], [[COPY1]], %subreg.sub_16bit
451+
; X86-NEXT: [[DEF:%[0-9]+]]:low32_addr_access = IMPLICIT_DEF
452+
; X86-NEXT: [[INSERT_SUBREG:%[0-9]+]]:low32_addr_access = INSERT_SUBREG [[DEF]], [[COPY1]], %subreg.sub_16bit
453453
; X86-NEXT: $eax = COPY [[INSERT_SUBREG]]
454454
; X86-NEXT: RET 0, implicit $eax
455455
; X64-LABEL: name: test_anyext_i16toi32
456456
; X64: [[COPY:%[0-9]+]]:gr32 = COPY $edi
457457
; X64-NEXT: [[COPY1:%[0-9]+]]:gr16 = COPY [[COPY]].sub_16bit
458-
; X64-NEXT: [[DEF:%[0-9]+]]:low32_addr_access_rbp = IMPLICIT_DEF
459-
; X64-NEXT: [[INSERT_SUBREG:%[0-9]+]]:low32_addr_access_rbp = INSERT_SUBREG [[DEF]], [[COPY1]], %subreg.sub_16bit
458+
; X64-NEXT: [[DEF:%[0-9]+]]:low32_addr_access = IMPLICIT_DEF
459+
; X64-NEXT: [[INSERT_SUBREG:%[0-9]+]]:low32_addr_access = INSERT_SUBREG [[DEF]], [[COPY1]], %subreg.sub_16bit
460460
; X64-NEXT: $eax = COPY [[INSERT_SUBREG]]
461461
; X64-NEXT: RET 0, implicit $eax
462462
%0(s32) = COPY $edi

llvm/test/CodeGen/X86/abds-neg.ll

Lines changed: 41 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -655,52 +655,51 @@ define i128 @abd_minmax_i128(i128 %a, i128 %b) nounwind {
655655
; X86-NEXT: pushl %esi
656656
; X86-NEXT: andl $-16, %esp
657657
; X86-NEXT: subl $16, %esp
658-
; X86-NEXT: movl 40(%ebp), %esi
659-
; X86-NEXT: movl 24(%ebp), %edi
660-
; X86-NEXT: movl 28(%ebp), %eax
661-
; X86-NEXT: cmpl %esi, %edi
662-
; X86-NEXT: sbbl 44(%ebp), %eax
663-
; X86-NEXT: movl 48(%ebp), %edx
664-
; X86-NEXT: movl 32(%ebp), %eax
665-
; X86-NEXT: sbbl %edx, %eax
666-
; X86-NEXT: movl 52(%ebp), %ebx
667-
; X86-NEXT: movl 36(%ebp), %ecx
668-
; X86-NEXT: movl %ecx, %eax
669-
; X86-NEXT: sbbl %ebx, %eax
670-
; X86-NEXT: movl %ebx, %eax
671-
; X86-NEXT: cmovll %ecx, %eax
672-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
673-
; X86-NEXT: movl %edx, %eax
674-
; X86-NEXT: cmovll 32(%ebp), %eax
675-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
676-
; X86-NEXT: movl 44(%ebp), %eax
677-
; X86-NEXT: cmovll 28(%ebp), %eax
678-
; X86-NEXT: movl %esi, %ecx
679-
; X86-NEXT: cmovll %edi, %ecx
680-
; X86-NEXT: cmpl %edi, %esi
658+
; X86-NEXT: movl 40(%ebp), %eax
681659
; X86-NEXT: movl 44(%ebp), %edi
682-
; X86-NEXT: sbbl 28(%ebp), %edi
683-
; X86-NEXT: movl %edx, %edi
684-
; X86-NEXT: sbbl 32(%ebp), %edi
685-
; X86-NEXT: movl %ebx, %edi
686-
; X86-NEXT: sbbl 36(%ebp), %edi
660+
; X86-NEXT: movl 24(%ebp), %esi
661+
; X86-NEXT: movl 28(%ebp), %ecx
662+
; X86-NEXT: cmpl %eax, %esi
663+
; X86-NEXT: sbbl %edi, %ecx
664+
; X86-NEXT: movl 32(%ebp), %ecx
665+
; X86-NEXT: sbbl 48(%ebp), %ecx
666+
; X86-NEXT: movl 52(%ebp), %ebx
667+
; X86-NEXT: movl 36(%ebp), %edx
668+
; X86-NEXT: movl %edx, %ecx
669+
; X86-NEXT: sbbl %ebx, %ecx
670+
; X86-NEXT: movl %ebx, %ecx
671+
; X86-NEXT: cmovll %edx, %ecx
672+
; X86-NEXT: movl %ecx, 8(%esp) # 4-byte Spill
673+
; X86-NEXT: movl 48(%ebp), %ecx
674+
; X86-NEXT: cmovll 32(%ebp), %ecx
675+
; X86-NEXT: movl %ecx, 4(%esp) # 4-byte Spill
676+
; X86-NEXT: movl %edi, %ecx
677+
; X86-NEXT: cmovll 28(%ebp), %ecx
678+
; X86-NEXT: movl %eax, %edx
679+
; X86-NEXT: cmovll %esi, %edx
680+
; X86-NEXT: cmpl %esi, %eax
681+
; X86-NEXT: movl %edi, %esi
682+
; X86-NEXT: sbbl 28(%ebp), %esi
683+
; X86-NEXT: movl 48(%ebp), %esi
684+
; X86-NEXT: sbbl 32(%ebp), %esi
685+
; X86-NEXT: movl %ebx, %esi
686+
; X86-NEXT: sbbl 36(%ebp), %esi
687687
; X86-NEXT: cmovll 36(%ebp), %ebx
688-
; X86-NEXT: cmovll 32(%ebp), %edx
689-
; X86-NEXT: movl 44(%ebp), %edi
688+
; X86-NEXT: movl 48(%ebp), %esi
689+
; X86-NEXT: cmovll 32(%ebp), %esi
690690
; X86-NEXT: cmovll 28(%ebp), %edi
691-
; X86-NEXT: cmovll 24(%ebp), %esi
692-
; X86-NEXT: subl %esi, %ecx
693-
; X86-NEXT: sbbl %edi, %eax
694-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
695-
; X86-NEXT: sbbl %edx, %edi
696-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
691+
; X86-NEXT: cmovll 24(%ebp), %eax
692+
; X86-NEXT: subl %eax, %edx
693+
; X86-NEXT: sbbl %edi, %ecx
694+
; X86-NEXT: movl 4(%esp), %edi # 4-byte Reload
695+
; X86-NEXT: sbbl %esi, %edi
696+
; X86-NEXT: movl 8(%esp), %esi # 4-byte Reload
697697
; X86-NEXT: sbbl %ebx, %esi
698-
; X86-NEXT: movl 8(%ebp), %edx
699-
; X86-NEXT: movl %ecx, (%edx)
700-
; X86-NEXT: movl %eax, 4(%edx)
701-
; X86-NEXT: movl %edi, 8(%edx)
702-
; X86-NEXT: movl %esi, 12(%edx)
703-
; X86-NEXT: movl %edx, %eax
698+
; X86-NEXT: movl 8(%ebp), %eax
699+
; X86-NEXT: movl %edx, (%eax)
700+
; X86-NEXT: movl %ecx, 4(%eax)
701+
; X86-NEXT: movl %edi, 8(%eax)
702+
; X86-NEXT: movl %esi, 12(%eax)
704703
; X86-NEXT: leal -12(%ebp), %esp
705704
; X86-NEXT: popl %esi
706705
; X86-NEXT: popl %edi

0 commit comments

Comments
 (0)