Skip to content

Commit 23b3598

Browse files
committed
[X86] Support encoding optimization fo immediate for ndd instructions
1 parent baaf0c9 commit 23b3598

File tree

8 files changed

+134
-62
lines changed

8 files changed

+134
-62
lines changed

llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimizationForImmediate.def

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,76 @@ ENTRY(IMUL64rri32, IMUL64rri8)
6969
ENTRY(PUSH16i, PUSH16i8)
7070
ENTRY(PUSH32i, PUSH32i8)
7171
ENTRY(PUSH64i32, PUSH64i8)
72+
ENTRY(ADC16mi_ND, ADC16mi8_ND)
73+
ENTRY(ADC16ri_ND, ADC16ri8_ND)
74+
ENTRY(ADC32mi_ND, ADC32mi8_ND)
75+
ENTRY(ADC32ri_ND, ADC32ri8_ND)
76+
ENTRY(ADC64mi32_ND, ADC64mi8_ND)
77+
ENTRY(ADC64ri32_ND, ADC64ri8_ND)
78+
ENTRY(SBB16mi_ND, SBB16mi8_ND)
79+
ENTRY(SBB16ri_ND, SBB16ri8_ND)
80+
ENTRY(SBB32mi_ND, SBB32mi8_ND)
81+
ENTRY(SBB32ri_ND, SBB32ri8_ND)
82+
ENTRY(SBB64mi32_ND, SBB64mi8_ND)
83+
ENTRY(SBB64ri32_ND, SBB64ri8_ND)
84+
ENTRY(ADD16mi_ND, ADD16mi8_ND)
85+
ENTRY(ADD16ri_ND, ADD16ri8_ND)
86+
ENTRY(ADD32mi_ND, ADD32mi8_ND)
87+
ENTRY(ADD32ri_ND, ADD32ri8_ND)
88+
ENTRY(ADD64mi32_ND, ADD64mi8_ND)
89+
ENTRY(ADD64ri32_ND, ADD64ri8_ND)
90+
ENTRY(AND16mi_ND, AND16mi8_ND)
91+
ENTRY(AND16ri_ND, AND16ri8_ND)
92+
ENTRY(AND32mi_ND, AND32mi8_ND)
93+
ENTRY(AND32ri_ND, AND32ri8_ND)
94+
ENTRY(AND64mi32_ND, AND64mi8_ND)
95+
ENTRY(AND64ri32_ND, AND64ri8_ND)
96+
ENTRY(OR16mi_ND, OR16mi8_ND)
97+
ENTRY(OR16ri_ND, OR16ri8_ND)
98+
ENTRY(OR32mi_ND, OR32mi8_ND)
99+
ENTRY(OR32ri_ND, OR32ri8_ND)
100+
ENTRY(OR64mi32_ND, OR64mi8_ND)
101+
ENTRY(OR64ri32_ND, OR64ri8_ND)
102+
ENTRY(SUB16mi_ND, SUB16mi8_ND)
103+
ENTRY(SUB16ri_ND, SUB16ri8_ND)
104+
ENTRY(SUB32mi_ND, SUB32mi8_ND)
105+
ENTRY(SUB32ri_ND, SUB32ri8_ND)
106+
ENTRY(SUB64mi32_ND, SUB64mi8_ND)
107+
ENTRY(SUB64ri32_ND, SUB64ri8_ND)
108+
ENTRY(XOR16mi_ND, XOR16mi8_ND)
109+
ENTRY(XOR16ri_ND, XOR16ri8_ND)
110+
ENTRY(XOR32mi_ND, XOR32mi8_ND)
111+
ENTRY(XOR32ri_ND, XOR32ri8_ND)
112+
ENTRY(XOR64mi32_ND, XOR64mi8_ND)
113+
ENTRY(XOR64ri32_ND, XOR64ri8_ND)
114+
ENTRY(ADD16mi_NF_ND, ADD16mi8_NF_ND)
115+
ENTRY(ADD16ri_NF_ND, ADD16ri8_NF_ND)
116+
ENTRY(ADD32mi_NF_ND, ADD32mi8_NF_ND)
117+
ENTRY(ADD32ri_NF_ND, ADD32ri8_NF_ND)
118+
ENTRY(ADD64mi32_NF_ND, ADD64mi8_NF_ND)
119+
ENTRY(ADD64ri32_NF_ND, ADD64ri8_NF_ND)
120+
ENTRY(AND16mi_NF_ND, AND16mi8_NF_ND)
121+
ENTRY(AND16ri_NF_ND, AND16ri8_NF_ND)
122+
ENTRY(AND32mi_NF_ND, AND32mi8_NF_ND)
123+
ENTRY(AND32ri_NF_ND, AND32ri8_NF_ND)
124+
ENTRY(AND64mi32_NF_ND, AND64mi8_NF_ND)
125+
ENTRY(AND64ri32_NF_ND, AND64ri8_NF_ND)
126+
ENTRY(OR16mi_NF_ND, OR16mi8_NF_ND)
127+
ENTRY(OR16ri_NF_ND, OR16ri8_NF_ND)
128+
ENTRY(OR32mi_NF_ND, OR32mi8_NF_ND)
129+
ENTRY(OR32ri_NF_ND, OR32ri8_NF_ND)
130+
ENTRY(OR64mi32_NF_ND, OR64mi8_NF_ND)
131+
ENTRY(OR64ri32_NF_ND, OR64ri8_NF_ND)
132+
ENTRY(SUB16mi_NF_ND, SUB16mi8_NF_ND)
133+
ENTRY(SUB16ri_NF_ND, SUB16ri8_NF_ND)
134+
ENTRY(SUB32mi_NF_ND, SUB32mi8_NF_ND)
135+
ENTRY(SUB32ri_NF_ND, SUB32ri8_NF_ND)
136+
ENTRY(SUB64mi32_NF_ND, SUB64mi8_NF_ND)
137+
ENTRY(SUB64ri32_NF_ND, SUB64ri8_NF_ND)
138+
ENTRY(XOR16mi_NF_ND, XOR16mi8_NF_ND)
139+
ENTRY(XOR16ri_NF_ND, XOR16ri8_NF_ND)
140+
ENTRY(XOR32mi_NF_ND, XOR32mi8_NF_ND)
141+
ENTRY(XOR32ri_NF_ND, XOR32ri8_NF_ND)
142+
ENTRY(XOR64mi32_NF_ND, XOR64mi8_NF_ND)
143+
ENTRY(XOR64ri32_NF_ND, XOR64ri8_NF_ND)
72144
#undef ENTRY

llvm/test/CodeGen/X86/apx/adc.ll

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ define i16 @adc16ri8(i16 %a, i16 %x, i16 %y) nounwind {
113113
; CHECK-LABEL: adc16ri8:
114114
; CHECK: # %bb.0:
115115
; CHECK-NEXT: subw %si, %dx, %ax # encoding: [0x62,0xf4,0x7d,0x18,0x29,0xf2]
116-
; CHECK-NEXT: adcw $0, %di, %ax # encoding: [0x62,0xf4,0x7d,0x18,0x81,0xd7,0x00,0x00]
116+
; CHECK-NEXT: adcw $0, %di, %ax # encoding: [0x62,0xf4,0x7d,0x18,0x83,0xd7,0x00]
117117
; CHECK-NEXT: addl $123, %eax # EVEX TO LEGACY Compression encoding: [0x83,0xc0,0x7b]
118118
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
119119
; CHECK-NEXT: retq # encoding: [0xc3]
@@ -128,7 +128,7 @@ define i32 @adc32ri8(i32 %a, i32 %x, i32 %y) nounwind {
128128
; CHECK-LABEL: adc32ri8:
129129
; CHECK: # %bb.0:
130130
; CHECK-NEXT: subl %esi, %edx, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x29,0xf2]
131-
; CHECK-NEXT: adcl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0xd7,0x7b,0x00,0x00,0x00]
131+
; CHECK-NEXT: adcl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0xd7,0x7b]
132132
; CHECK-NEXT: retq # encoding: [0xc3]
133133
%s = add i32 %a, 123
134134
%k = icmp ugt i32 %x, %y
@@ -141,7 +141,7 @@ define i64 @adc64ri8(i64 %a, i64 %x, i64 %y) nounwind {
141141
; CHECK-LABEL: adc64ri8:
142142
; CHECK: # %bb.0:
143143
; CHECK-NEXT: subq %rsi, %rdx, %rax # encoding: [0x62,0xf4,0xfc,0x18,0x29,0xf2]
144-
; CHECK-NEXT: adcq $123, %rdi, %rax # encoding: [0x62,0xf4,0xfc,0x18,0x81,0xd7,0x7b,0x00,0x00,0x00]
144+
; CHECK-NEXT: adcq $123, %rdi, %rax # encoding: [0x62,0xf4,0xfc,0x18,0x83,0xd7,0x7b]
145145
; CHECK-NEXT: retq # encoding: [0xc3]
146146
%s = add i64 %a, 123
147147
%k = icmp ugt i64 %x, %y
@@ -167,7 +167,7 @@ define i16 @adc16ri(i16 %a, i16 %x, i16 %y) nounwind {
167167
; CHECK-LABEL: adc16ri:
168168
; CHECK: # %bb.0:
169169
; CHECK-NEXT: subw %si, %dx, %ax # encoding: [0x62,0xf4,0x7d,0x18,0x29,0xf2]
170-
; CHECK-NEXT: adcw $0, %di, %ax # encoding: [0x62,0xf4,0x7d,0x18,0x81,0xd7,0x00,0x00]
170+
; CHECK-NEXT: adcw $0, %di, %ax # encoding: [0x62,0xf4,0x7d,0x18,0x83,0xd7,0x00]
171171
; CHECK-NEXT: addl $1234, %eax # EVEX TO LEGACY Compression encoding: [0x05,0xd2,0x04,0x00,0x00]
172172
; CHECK-NEXT: # imm = 0x4D2
173173
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
@@ -267,7 +267,7 @@ define i16 @adc16mi8(ptr %ptr, i16 %x, i16 %y) nounwind {
267267
; CHECK-LABEL: adc16mi8:
268268
; CHECK: # %bb.0:
269269
; CHECK-NEXT: subw %si, %dx, %ax # encoding: [0x62,0xf4,0x7d,0x18,0x29,0xf2]
270-
; CHECK-NEXT: adcw $0, (%rdi), %ax # encoding: [0x62,0xf4,0x7d,0x18,0x81,0x17,0x00,0x00]
270+
; CHECK-NEXT: adcw $0, (%rdi), %ax # encoding: [0x62,0xf4,0x7d,0x18,0x83,0x17,0x00]
271271
; CHECK-NEXT: addl $123, %eax # EVEX TO LEGACY Compression encoding: [0x83,0xc0,0x7b]
272272
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
273273
; CHECK-NEXT: retq # encoding: [0xc3]
@@ -283,7 +283,7 @@ define i32 @adc32mi8(ptr %ptr, i32 %x, i32 %y) nounwind {
283283
; CHECK-LABEL: adc32mi8:
284284
; CHECK: # %bb.0:
285285
; CHECK-NEXT: subl %esi, %edx, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x29,0xf2]
286-
; CHECK-NEXT: adcl $123, (%rdi), %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0x17,0x7b,0x00,0x00,0x00]
286+
; CHECK-NEXT: adcl $123, (%rdi), %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0x17,0x7b]
287287
; CHECK-NEXT: retq # encoding: [0xc3]
288288
%a = load i32, ptr %ptr
289289
%s = add i32 %a, 123
@@ -297,7 +297,7 @@ define i64 @adc64mi8(ptr %ptr, i64 %x, i64 %y) nounwind {
297297
; CHECK-LABEL: adc64mi8:
298298
; CHECK: # %bb.0:
299299
; CHECK-NEXT: subq %rsi, %rdx, %rax # encoding: [0x62,0xf4,0xfc,0x18,0x29,0xf2]
300-
; CHECK-NEXT: adcq $123, (%rdi), %rax # encoding: [0x62,0xf4,0xfc,0x18,0x81,0x17,0x7b,0x00,0x00,0x00]
300+
; CHECK-NEXT: adcq $123, (%rdi), %rax # encoding: [0x62,0xf4,0xfc,0x18,0x83,0x17,0x7b]
301301
; CHECK-NEXT: retq # encoding: [0xc3]
302302
%a = load i64, ptr %ptr
303303
%s = add i64 %a, 123
@@ -325,7 +325,7 @@ define i16 @adc16mi(ptr %ptr, i16 %x, i16 %y) nounwind {
325325
; CHECK-LABEL: adc16mi:
326326
; CHECK: # %bb.0:
327327
; CHECK-NEXT: subw %si, %dx, %ax # encoding: [0x62,0xf4,0x7d,0x18,0x29,0xf2]
328-
; CHECK-NEXT: adcw $0, (%rdi), %ax # encoding: [0x62,0xf4,0x7d,0x18,0x81,0x17,0x00,0x00]
328+
; CHECK-NEXT: adcw $0, (%rdi), %ax # encoding: [0x62,0xf4,0x7d,0x18,0x83,0x17,0x00]
329329
; CHECK-NEXT: addl $1234, %eax # EVEX TO LEGACY Compression encoding: [0x05,0xd2,0x04,0x00,0x00]
330330
; CHECK-NEXT: # imm = 0x4D2
331331
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
@@ -447,7 +447,7 @@ define void @adc16mi_legacy(ptr %ptr, i16 %x, i16 %y) nounwind {
447447
; CHECK-LABEL: adc16mi_legacy:
448448
; CHECK: # %bb.0:
449449
; CHECK-NEXT: subw %si, %dx, %ax # encoding: [0x62,0xf4,0x7d,0x18,0x29,0xf2]
450-
; CHECK-NEXT: adcw $0, (%rdi), %ax # encoding: [0x62,0xf4,0x7d,0x18,0x81,0x17,0x00,0x00]
450+
; CHECK-NEXT: adcw $0, (%rdi), %ax # encoding: [0x62,0xf4,0x7d,0x18,0x83,0x17,0x00]
451451
; CHECK-NEXT: addl $1234, %eax # EVEX TO LEGACY Compression encoding: [0x05,0xd2,0x04,0x00,0x00]
452452
; CHECK-NEXT: # imm = 0x4D2
453453
; CHECK-NEXT: movw %ax, (%rdi) # encoding: [0x66,0x89,0x07]

llvm/test/CodeGen/X86/apx/add.ll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ entry:
8989
define i16 @add16ri8(i16 noundef %a) {
9090
; CHECK-LABEL: add16ri8:
9191
; CHECK: # %bb.0: # %entry
92-
; CHECK-NEXT: addl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0xc7,0x7b,0x00,0x00,0x00]
92+
; CHECK-NEXT: addl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0xc7,0x7b]
9393
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
9494
; CHECK-NEXT: retq # encoding: [0xc3]
9595
entry:
@@ -100,7 +100,7 @@ entry:
100100
define i32 @add32ri8(i32 noundef %a) {
101101
; CHECK-LABEL: add32ri8:
102102
; CHECK: # %bb.0: # %entry
103-
; CHECK-NEXT: addl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0xc7,0x7b,0x00,0x00,0x00]
103+
; CHECK-NEXT: addl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0xc7,0x7b]
104104
; CHECK-NEXT: retq # encoding: [0xc3]
105105
entry:
106106
%add = add i32 %a, 123
@@ -110,7 +110,7 @@ entry:
110110
define i64 @add64ri8(i64 noundef %a) {
111111
; CHECK-LABEL: add64ri8:
112112
; CHECK: # %bb.0: # %entry
113-
; CHECK-NEXT: addq $123, %rdi, %rax # encoding: [0x62,0xf4,0xfc,0x18,0x81,0xc7,0x7b,0x00,0x00,0x00]
113+
; CHECK-NEXT: addq $123, %rdi, %rax # encoding: [0x62,0xf4,0xfc,0x18,0x83,0xc7,0x7b]
114114
; CHECK-NEXT: retq # encoding: [0xc3]
115115
entry:
116116
%add = add i64 %a, 123
@@ -221,7 +221,7 @@ entry:
221221
define i32 @add32mi8(ptr %a) {
222222
; CHECK-LABEL: add32mi8:
223223
; CHECK: # %bb.0: # %entry
224-
; CHECK-NEXT: addl $123, (%rdi), %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0x07,0x7b,0x00,0x00,0x00]
224+
; CHECK-NEXT: addl $123, (%rdi), %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0x07,0x7b]
225225
; CHECK-NEXT: retq # encoding: [0xc3]
226226
entry:
227227
%t= load i32, ptr %a
@@ -232,7 +232,7 @@ entry:
232232
define i64 @add64mi8(ptr %a) {
233233
; CHECK-LABEL: add64mi8:
234234
; CHECK: # %bb.0: # %entry
235-
; CHECK-NEXT: addq $123, (%rdi), %rax # encoding: [0x62,0xf4,0xfc,0x18,0x81,0x07,0x7b,0x00,0x00,0x00]
235+
; CHECK-NEXT: addq $123, (%rdi), %rax # encoding: [0x62,0xf4,0xfc,0x18,0x83,0x07,0x7b]
236236
; CHECK-NEXT: retq # encoding: [0xc3]
237237
entry:
238238
%t= load i64, ptr %a
@@ -405,7 +405,7 @@ entry:
405405
define i16 @addflag16ri8(i16 noundef %a) {
406406
; CHECK-LABEL: addflag16ri8:
407407
; CHECK: # %bb.0: # %entry
408-
; CHECK-NEXT: addw $123, %di, %cx # encoding: [0x62,0xf4,0x75,0x18,0x81,0xc7,0x7b,0x00]
408+
; CHECK-NEXT: addw $123, %di, %cx # encoding: [0x62,0xf4,0x75,0x18,0x83,0xc7,0x7b]
409409
; CHECK-NEXT: movl $65535, %eax # encoding: [0xb8,0xff,0xff,0x00,0x00]
410410
; CHECK-NEXT: # imm = 0xFFFF
411411
; CHECK-NEXT: cmovael %ecx, %eax # encoding: [0x0f,0x43,0xc1]
@@ -419,7 +419,7 @@ entry:
419419
define i32 @addflag32ri8(i32 noundef %a) {
420420
; CHECK-LABEL: addflag32ri8:
421421
; CHECK: # %bb.0: # %entry
422-
; CHECK-NEXT: addl $123, %edi, %ecx # encoding: [0x62,0xf4,0x74,0x18,0x81,0xc7,0x7b,0x00,0x00,0x00]
422+
; CHECK-NEXT: addl $123, %edi, %ecx # encoding: [0x62,0xf4,0x74,0x18,0x83,0xc7,0x7b]
423423
; CHECK-NEXT: movl $-1, %eax # encoding: [0xb8,0xff,0xff,0xff,0xff]
424424
; CHECK-NEXT: cmovael %ecx, %eax # encoding: [0x0f,0x43,0xc1]
425425
; CHECK-NEXT: retq # encoding: [0xc3]
@@ -431,7 +431,7 @@ entry:
431431
define i64 @addflag64ri8(i64 noundef %a) {
432432
; CHECK-LABEL: addflag64ri8:
433433
; CHECK: # %bb.0: # %entry
434-
; CHECK-NEXT: addq $123, %rdi, %rcx # encoding: [0x62,0xf4,0xf4,0x18,0x81,0xc7,0x7b,0x00,0x00,0x00]
434+
; CHECK-NEXT: addq $123, %rdi, %rcx # encoding: [0x62,0xf4,0xf4,0x18,0x83,0xc7,0x7b]
435435
; CHECK-NEXT: movq $-1, %rax # encoding: [0x48,0xc7,0xc0,0xff,0xff,0xff,0xff]
436436
; CHECK-NEXT: cmovaeq %rcx, %rax # encoding: [0x48,0x0f,0x43,0xc1]
437437
; CHECK-NEXT: retq # encoding: [0xc3]

llvm/test/CodeGen/X86/apx/and.ll

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ entry:
9090
define i16 @and16ri8(i16 noundef %a) {
9191
; CHECK-LABEL: and16ri8:
9292
; CHECK: # %bb.0: # %entry
93-
; CHECK-NEXT: andl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0xe7,0x7b,0x00,0x00,0x00]
93+
; CHECK-NEXT: andl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0xe7,0x7b]
9494
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
9595
; CHECK-NEXT: retq # encoding: [0xc3]
9696
entry:
@@ -101,7 +101,7 @@ entry:
101101
define i32 @and32ri8(i32 noundef %a) {
102102
; CHECK-LABEL: and32ri8:
103103
; CHECK: # %bb.0: # %entry
104-
; CHECK-NEXT: andl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0xe7,0x7b,0x00,0x00,0x00]
104+
; CHECK-NEXT: andl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0xe7,0x7b]
105105
; CHECK-NEXT: retq # encoding: [0xc3]
106106
entry:
107107
%and = and i32 %a, 123
@@ -111,7 +111,7 @@ entry:
111111
define i64 @and64ri8(i64 noundef %a) {
112112
; CHECK-LABEL: and64ri8:
113113
; CHECK: # %bb.0: # %entry
114-
; CHECK-NEXT: andl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0xe7,0x7b,0x00,0x00,0x00]
114+
; CHECK-NEXT: andl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0xe7,0x7b]
115115
; CHECK-NEXT: retq # encoding: [0xc3]
116116
entry:
117117
%and = and i64 %a, 123
@@ -222,7 +222,7 @@ entry:
222222
define i32 @and32mi8(ptr %a) {
223223
; CHECK-LABEL: and32mi8:
224224
; CHECK: # %bb.0: # %entry
225-
; CHECK-NEXT: andl $123, (%rdi), %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0x27,0x7b,0x00,0x00,0x00]
225+
; CHECK-NEXT: andl $123, (%rdi), %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0x27,0x7b]
226226
; CHECK-NEXT: retq # encoding: [0xc3]
227227
entry:
228228
%t= load i32, ptr %a
@@ -482,7 +482,7 @@ define i1 @andflag64ri(i64 %a) {
482482
define i1 @andflag16ri8(i16 %a) {
483483
; CHECK-LABEL: andflag16ri8:
484484
; CHECK: # %bb.0:
485-
; CHECK-NEXT: andw $-124, %di, %cx # encoding: [0x62,0xf4,0x75,0x18,0x81,0xe7,0x84,0xff]
485+
; CHECK-NEXT: andw $-124, %di, %cx # encoding: [0x62,0xf4,0x75,0x18,0x83,0xe7,0x84]
486486
; CHECK-NEXT: sete %al # encoding: [0x0f,0x94,0xc0]
487487
; CHECK-NEXT: movw %cx, d64(%rip) # encoding: [0x66,0x89,0x0d,A,A,A,A]
488488
; CHECK-NEXT: # fixup A - offset: 3, value: d64-4, kind: reloc_riprel_4byte
@@ -497,7 +497,7 @@ define i1 @andflag16ri8(i16 %a) {
497497
define i1 @andflag32ri8(i32 %a) {
498498
; CHECK-LABEL: andflag32ri8:
499499
; CHECK: # %bb.0:
500-
; CHECK-NEXT: andl $123, %edi, %ecx # encoding: [0x62,0xf4,0x74,0x18,0x81,0xe7,0x7b,0x00,0x00,0x00]
500+
; CHECK-NEXT: andl $123, %edi, %ecx # encoding: [0x62,0xf4,0x74,0x18,0x83,0xe7,0x7b]
501501
; CHECK-NEXT: sete %al # encoding: [0x0f,0x94,0xc0]
502502
; CHECK-NEXT: movl %ecx, d64(%rip) # encoding: [0x89,0x0d,A,A,A,A]
503503
; CHECK-NEXT: # fixup A - offset: 2, value: d64-4, kind: reloc_riprel_4byte
@@ -511,7 +511,7 @@ define i1 @andflag32ri8(i32 %a) {
511511
define i1 @andflag64ri8(i64 %a) {
512512
; CHECK-LABEL: andflag64ri8:
513513
; CHECK: # %bb.0:
514-
; CHECK-NEXT: andq $123, %rdi, %rcx # encoding: [0x62,0xf4,0xf4,0x18,0x81,0xe7,0x7b,0x00,0x00,0x00]
514+
; CHECK-NEXT: andq $123, %rdi, %rcx # encoding: [0x62,0xf4,0xf4,0x18,0x83,0xe7,0x7b]
515515
; CHECK-NEXT: sete %al # encoding: [0x0f,0x94,0xc0]
516516
; CHECK-NEXT: movq %rcx, d64(%rip) # encoding: [0x48,0x89,0x0d,A,A,A,A]
517517
; CHECK-NEXT: # fixup A - offset: 3, value: d64-4, kind: reloc_riprel_4byte

llvm/test/CodeGen/X86/apx/or.ll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ entry:
9090
define i16 @or16ri8(i16 noundef %a) {
9191
; CHECK-LABEL: or16ri8:
9292
; CHECK: # %bb.0: # %entry
93-
; CHECK-NEXT: orl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0xcf,0x7b,0x00,0x00,0x00]
93+
; CHECK-NEXT: orl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0xcf,0x7b]
9494
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
9595
; CHECK-NEXT: retq # encoding: [0xc3]
9696
entry:
@@ -101,7 +101,7 @@ entry:
101101
define i32 @or32ri8(i32 noundef %a) {
102102
; CHECK-LABEL: or32ri8:
103103
; CHECK: # %bb.0: # %entry
104-
; CHECK-NEXT: orl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0xcf,0x7b,0x00,0x00,0x00]
104+
; CHECK-NEXT: orl $123, %edi, %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0xcf,0x7b]
105105
; CHECK-NEXT: retq # encoding: [0xc3]
106106
entry:
107107
%or = or i32 %a, 123
@@ -111,7 +111,7 @@ entry:
111111
define i64 @or64ri8(i64 noundef %a) {
112112
; CHECK-LABEL: or64ri8:
113113
; CHECK: # %bb.0: # %entry
114-
; CHECK-NEXT: orq $123, %rdi, %rax # encoding: [0x62,0xf4,0xfc,0x18,0x81,0xcf,0x7b,0x00,0x00,0x00]
114+
; CHECK-NEXT: orq $123, %rdi, %rax # encoding: [0x62,0xf4,0xfc,0x18,0x83,0xcf,0x7b]
115115
; CHECK-NEXT: retq # encoding: [0xc3]
116116
entry:
117117
%or = or i64 %a, 123
@@ -222,7 +222,7 @@ entry:
222222
define i32 @or32mi8(ptr %a) {
223223
; CHECK-LABEL: or32mi8:
224224
; CHECK: # %bb.0: # %entry
225-
; CHECK-NEXT: orl $123, (%rdi), %eax # encoding: [0x62,0xf4,0x7c,0x18,0x81,0x0f,0x7b,0x00,0x00,0x00]
225+
; CHECK-NEXT: orl $123, (%rdi), %eax # encoding: [0x62,0xf4,0x7c,0x18,0x83,0x0f,0x7b]
226226
; CHECK-NEXT: retq # encoding: [0xc3]
227227
entry:
228228
%t= load i32, ptr %a
@@ -233,7 +233,7 @@ entry:
233233
define i64 @or64mi8(ptr %a) {
234234
; CHECK-LABEL: or64mi8:
235235
; CHECK: # %bb.0: # %entry
236-
; CHECK-NEXT: orq $123, (%rdi), %rax # encoding: [0x62,0xf4,0xfc,0x18,0x81,0x0f,0x7b,0x00,0x00,0x00]
236+
; CHECK-NEXT: orq $123, (%rdi), %rax # encoding: [0x62,0xf4,0xfc,0x18,0x83,0x0f,0x7b]
237237
; CHECK-NEXT: retq # encoding: [0xc3]
238238
entry:
239239
%t= load i64, ptr %a
@@ -480,7 +480,7 @@ define i1 @orflag64ri(i64 %a) {
480480
define i1 @orflag16ri8(i16 %a) {
481481
; CHECK-LABEL: orflag16ri8:
482482
; CHECK: # %bb.0:
483-
; CHECK-NEXT: orw $-124, %di, %cx # encoding: [0x62,0xf4,0x75,0x18,0x81,0xcf,0x84,0xff]
483+
; CHECK-NEXT: orw $-124, %di, %cx # encoding: [0x62,0xf4,0x75,0x18,0x83,0xcf,0x84]
484484
; CHECK-NEXT: sete %al # encoding: [0x0f,0x94,0xc0]
485485
; CHECK-NEXT: movw %cx, d64(%rip) # encoding: [0x66,0x89,0x0d,A,A,A,A]
486486
; CHECK-NEXT: # fixup A - offset: 3, value: d64-4, kind: reloc_riprel_4byte
@@ -495,7 +495,7 @@ define i1 @orflag16ri8(i16 %a) {
495495
define i1 @orflag32ri8(i32 %a) {
496496
; CHECK-LABEL: orflag32ri8:
497497
; CHECK: # %bb.0:
498-
; CHECK-NEXT: orl $123, %edi, %ecx # encoding: [0x62,0xf4,0x74,0x18,0x81,0xcf,0x7b,0x00,0x00,0x00]
498+
; CHECK-NEXT: orl $123, %edi, %ecx # encoding: [0x62,0xf4,0x74,0x18,0x83,0xcf,0x7b]
499499
; CHECK-NEXT: sete %al # encoding: [0x0f,0x94,0xc0]
500500
; CHECK-NEXT: movl %ecx, d64(%rip) # encoding: [0x89,0x0d,A,A,A,A]
501501
; CHECK-NEXT: # fixup A - offset: 2, value: d64-4, kind: reloc_riprel_4byte
@@ -509,7 +509,7 @@ define i1 @orflag32ri8(i32 %a) {
509509
define i1 @orflag64ri8(i64 %a) {
510510
; CHECK-LABEL: orflag64ri8:
511511
; CHECK: # %bb.0:
512-
; CHECK-NEXT: orq $123, %rdi, %rcx # encoding: [0x62,0xf4,0xf4,0x18,0x81,0xcf,0x7b,0x00,0x00,0x00]
512+
; CHECK-NEXT: orq $123, %rdi, %rcx # encoding: [0x62,0xf4,0xf4,0x18,0x83,0xcf,0x7b]
513513
; CHECK-NEXT: sete %al # encoding: [0x0f,0x94,0xc0]
514514
; CHECK-NEXT: movq %rcx, d64(%rip) # encoding: [0x48,0x89,0x0d,A,A,A,A]
515515
; CHECK-NEXT: # fixup A - offset: 3, value: d64-4, kind: reloc_riprel_4byte

0 commit comments

Comments
 (0)