Skip to content

Commit fd3e352

Browse files
author
Yuanke Luo
committed
Apply Phoebe's comments
1 parent d197621 commit fd3e352

File tree

6 files changed

+28
-28
lines changed

6 files changed

+28
-28
lines changed

llvm/lib/Target/X86/X86InstrInfo.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6127,15 +6127,15 @@ static bool expandSHXDROT(MachineInstrBuilder &MIB, const MCInstrDesc &Desc) {
61276127
}
61286128

61296129
static bool expandMOVSHP(MachineInstrBuilder &MIB, MachineInstr &MI,
6130-
const TargetInstrInfo &TII) {
6130+
const TargetInstrInfo &TII, const X86Subtarget &STI) {
61316131
unsigned NewOpc;
61326132
if (MI.getOpcode() == X86::MOVSHPrm) {
6133-
NewOpc = X86::MOVSSrm;
6133+
NewOpc = STI.hasAVX() ? X86::VMOVSSrm : X86::MOVSSrm;
61346134
Register Reg = MI.getOperand(0).getReg();
61356135
if (Reg > X86::XMM15)
61366136
NewOpc = X86::VMOVSSZrm;
61376137
} else {
6138-
NewOpc = X86::MOVSSmr;
6138+
NewOpc = STI.hasAVX() ? X86::VMOVSSmr : X86::MOVSSmr;
61396139
Register Reg = MI.getOperand(5).getReg();
61406140
if (Reg > X86::XMM15)
61416141
NewOpc = X86::VMOVSSZmr;
@@ -6219,7 +6219,7 @@ bool X86InstrInfo::expandPostRAPseudo(MachineInstr &MI) const {
62196219
}
62206220
case X86::MOVSHPmr:
62216221
case X86::MOVSHPrm:
6222-
return expandMOVSHP(MIB, MI, *this);
6222+
return expandMOVSHP(MIB, MI, *this, Subtarget);
62236223
case X86::V_SETALLONES:
62246224
return Expand2AddrUndef(MIB,
62256225
get(HasAVX ? X86::VPCMPEQDrr : X86::PCMPEQDrr));

llvm/test/CodeGen/X86/avx512fp16-combine-shuffle-fma.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ define <2 x half> @foo(<2 x half> %0) nounwind {
1313
; AVX2-NEXT: callq __extendhfsf2@PLT
1414
; AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
1515
; AVX2-NEXT: callq __truncsfhf2@PLT
16-
; AVX2-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
16+
; AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
1717
; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
1818
; AVX2-NEXT: callq __extendhfsf2@PLT
1919
; AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
20-
; AVX2-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
20+
; AVX2-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
2121
; AVX2-NEXT: # xmm0 = mem[0],zero,zero,zero
2222
; AVX2-NEXT: callq __extendhfsf2@PLT
2323
; AVX2-NEXT: vsubss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 4-byte Folded Reload

llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,10 @@ define half @complex_canonicalize_fmul_half(half %a, half %b) nounwind {
100100
; AVX-LABEL: complex_canonicalize_fmul_half:
101101
; AVX: # %bb.0: # %entry
102102
; AVX-NEXT: pushq %rax
103-
; AVX-NEXT: movss %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
103+
; AVX-NEXT: vmovss %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
104104
; AVX-NEXT: callq __extendhfsf2@PLT
105105
; AVX-NEXT: vmovss %xmm0, (%rsp) # 4-byte Spill
106-
; AVX-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
106+
; AVX-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
107107
; AVX-NEXT: # xmm0 = mem[0],zero,zero,zero
108108
; AVX-NEXT: callq __extendhfsf2@PLT
109109
; AVX-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill

llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -277,56 +277,56 @@ define <8 x half> @fmul_pow2_8xhalf(<8 x i16> %i) {
277277
; CHECK-AVX2-NEXT: vmovshdup {{.*#+}} xmm0 = xmm0[1,1,3,3]
278278
; CHECK-AVX2-NEXT: vzeroupper
279279
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
280-
; CHECK-AVX2-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
280+
; CHECK-AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
281281
; CHECK-AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
282282
; CHECK-AVX2-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
283283
; CHECK-AVX2-NEXT: vzeroupper
284284
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
285-
; CHECK-AVX2-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
285+
; CHECK-AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
286286
; CHECK-AVX2-NEXT: vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload
287287
; CHECK-AVX2-NEXT: # xmm0 = mem[1,0]
288288
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
289-
; CHECK-AVX2-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
289+
; CHECK-AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
290290
; CHECK-AVX2-NEXT: vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload
291291
; CHECK-AVX2-NEXT: # xmm0 = mem[3,3,3,3]
292292
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
293-
; CHECK-AVX2-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
293+
; CHECK-AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
294294
; CHECK-AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
295295
; CHECK-AVX2-NEXT: vextractf128 $1, %ymm0, %xmm0
296296
; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
297297
; CHECK-AVX2-NEXT: vmovshdup {{.*#+}} xmm0 = xmm0[1,1,3,3]
298298
; CHECK-AVX2-NEXT: vzeroupper
299299
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
300-
; CHECK-AVX2-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
300+
; CHECK-AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
301301
; CHECK-AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
302302
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
303-
; CHECK-AVX2-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
303+
; CHECK-AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
304304
; CHECK-AVX2-NEXT: vpermilpd $1, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload
305305
; CHECK-AVX2-NEXT: # xmm0 = mem[1,0]
306306
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
307-
; CHECK-AVX2-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
307+
; CHECK-AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
308308
; CHECK-AVX2-NEXT: vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload
309309
; CHECK-AVX2-NEXT: # xmm0 = mem[3,3,3,3]
310310
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
311311
; CHECK-AVX2-NEXT: callq __extendhfsf2@PLT
312312
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
313313
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
314314
; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
315-
; CHECK-AVX2-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
315+
; CHECK-AVX2-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
316316
; CHECK-AVX2-NEXT: # xmm0 = mem[0],zero,zero,zero
317317
; CHECK-AVX2-NEXT: callq __extendhfsf2@PLT
318318
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
319319
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
320320
; CHECK-AVX2-NEXT: vpunpcklwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
321321
; CHECK-AVX2-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3]
322322
; CHECK-AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
323-
; CHECK-AVX2-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
323+
; CHECK-AVX2-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
324324
; CHECK-AVX2-NEXT: # xmm0 = mem[0],zero,zero,zero
325325
; CHECK-AVX2-NEXT: callq __extendhfsf2@PLT
326326
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
327327
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
328328
; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
329-
; CHECK-AVX2-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
329+
; CHECK-AVX2-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
330330
; CHECK-AVX2-NEXT: # xmm0 = mem[0],zero,zero,zero
331331
; CHECK-AVX2-NEXT: callq __extendhfsf2@PLT
332332
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
@@ -336,27 +336,27 @@ define <8 x half> @fmul_pow2_8xhalf(<8 x i16> %i) {
336336
; CHECK-AVX2-NEXT: vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
337337
; CHECK-AVX2-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
338338
; CHECK-AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
339-
; CHECK-AVX2-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
339+
; CHECK-AVX2-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
340340
; CHECK-AVX2-NEXT: # xmm0 = mem[0],zero,zero,zero
341341
; CHECK-AVX2-NEXT: callq __extendhfsf2@PLT
342342
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
343343
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
344344
; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
345-
; CHECK-AVX2-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
345+
; CHECK-AVX2-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
346346
; CHECK-AVX2-NEXT: # xmm0 = mem[0],zero,zero,zero
347347
; CHECK-AVX2-NEXT: callq __extendhfsf2@PLT
348348
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
349349
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
350350
; CHECK-AVX2-NEXT: vpunpcklwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload
351351
; CHECK-AVX2-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3]
352352
; CHECK-AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
353-
; CHECK-AVX2-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
353+
; CHECK-AVX2-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
354354
; CHECK-AVX2-NEXT: # xmm0 = mem[0],zero,zero,zero
355355
; CHECK-AVX2-NEXT: callq __extendhfsf2@PLT
356356
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
357357
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
358358
; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
359-
; CHECK-AVX2-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
359+
; CHECK-AVX2-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
360360
; CHECK-AVX2-NEXT: # xmm0 = mem[0],zero,zero,zero
361361
; CHECK-AVX2-NEXT: callq __extendhfsf2@PLT
362362
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
@@ -1111,7 +1111,7 @@ define <2 x half> @fmul_pow_shl_cnt_vec_fail_to_large(<2 x i16> %cnt) nounwind {
11111111
; CHECK-AVX2-NEXT: vcvtsi2ss %eax, %xmm15, %xmm0
11121112
; CHECK-AVX2-NEXT: vzeroupper
11131113
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
1114-
; CHECK-AVX2-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
1114+
; CHECK-AVX2-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
11151115
; CHECK-AVX2-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
11161116
; CHECK-AVX2-NEXT: vpextrw $0, %xmm0, %eax
11171117
; CHECK-AVX2-NEXT: vcvtsi2ss %eax, %xmm15, %xmm0
@@ -1121,7 +1121,7 @@ define <2 x half> @fmul_pow_shl_cnt_vec_fail_to_large(<2 x i16> %cnt) nounwind {
11211121
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
11221122
; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT
11231123
; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1124-
; CHECK-AVX2-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
1124+
; CHECK-AVX2-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
11251125
; CHECK-AVX2-NEXT: # xmm0 = mem[0],zero,zero,zero
11261126
; CHECK-AVX2-NEXT: callq __extendhfsf2@PLT
11271127
; CHECK-AVX2-NEXT: vmulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0

llvm/test/CodeGen/X86/fp16-spill.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ define half @test(float %f, ptr %p) nounwind {
3030
; AVX-NEXT: subq $16, %rsp
3131
; AVX-NEXT: movq %rdi, %rbx
3232
; AVX-NEXT: callq __truncsfhf2@PLT
33-
; AVX-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
33+
; AVX-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
3434
; AVX-NEXT: callq __extendhfsf2@PLT
3535
; AVX-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
3636
; AVX-NEXT: #APP
3737
; AVX-NEXT: #NO_APP
3838
; AVX-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
3939
; AVX-NEXT: # xmm0 = mem[0],zero,zero,zero
4040
; AVX-NEXT: vmovss %xmm0, (%rbx)
41-
; AVX-NEXT: movss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
41+
; AVX-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Reload
4242
; AVX-NEXT: # xmm0 = mem[0],zero,zero,zero
4343
; AVX-NEXT: addq $16, %rsp
4444
; AVX-NEXT: popq %rbx

llvm/test/CodeGen/X86/frem.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ define void @frem_f16(half %a0, half %a1, ptr%p3) nounwind {
99
; CHECK-NEXT: pushq %rbx
1010
; CHECK-NEXT: subq $16, %rsp
1111
; CHECK-NEXT: movq %rdi, %rbx
12-
; CHECK-NEXT: movss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
12+
; CHECK-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
1313
; CHECK-NEXT: vmovaps %xmm1, %xmm0
1414
; CHECK-NEXT: callq __extendhfsf2@PLT
1515
; CHECK-NEXT: vmovss %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
16-
; CHECK-NEXT: movd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Folded Reload
16+
; CHECK-NEXT: vmovd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 4-byte Folded Reload
1717
; CHECK-NEXT: # xmm0 = mem[0],zero,zero,zero
1818
; CHECK-NEXT: callq __extendhfsf2@PLT
1919
; CHECK-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 4-byte Reload

0 commit comments

Comments
 (0)