From abf36113322fc7707acdbb612e6823be9f09dd9b Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Mon, 9 Apr 2018 13:27:47 +0000 Subject: [PATCH] [X86][MMX] Fix missing itinerary for CVTPI2PS llvm-svn: 329565 --- llvm/lib/Target/X86/X86InstrMMX.td | 8 ++++---- llvm/test/CodeGen/X86/mmx-schedule.ll | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/llvm/lib/Target/X86/X86InstrMMX.td b/llvm/lib/Target/X86/X86InstrMMX.td index 52d76f0..2981475 100644 --- a/llvm/lib/Target/X86/X86InstrMMX.td +++ b/llvm/lib/Target/X86/X86InstrMMX.td @@ -206,15 +206,15 @@ multiclass sse12_cvt_pint opc, RegisterClass SrcRC, RegisterClass DstRC, multiclass sse12_cvt_pint_3addr opc, RegisterClass SrcRC, RegisterClass DstRC, Intrinsic Int, X86MemOperand x86memop, - PatFrag ld_frag, string asm, Domain d> { + PatFrag ld_frag, string asm, OpndItins itins, Domain d> { def irr : MMXPI, Sched<[WriteCvtI2F]>; + itins.rr, d>, Sched<[WriteCvtI2F]>; def irm : MMXPI, Sched<[WriteCvtI2FLd]>; + itins.rm, d>, Sched<[WriteCvtI2FLd]>; } //===----------------------------------------------------------------------===// @@ -596,7 +596,7 @@ let Constraints = "$src1 = $dst" in { defm MMX_CVTPI2PS : sse12_cvt_pint_3addr<0x2A, VR64, VR128, int_x86_sse_cvtpi2ps, i64mem, load, "cvtpi2ps\t{$src2, $dst|$dst, $src2}", - SSEPackedSingle>, PS; + MMX_CVT_PS_ITINS, SSEPackedSingle>, PS; } // Extract / Insert diff --git a/llvm/test/CodeGen/X86/mmx-schedule.ll b/llvm/test/CodeGen/X86/mmx-schedule.ll index ba9be7e..9a75144 100644 --- a/llvm/test/CodeGen/X86/mmx-schedule.ll +++ b/llvm/test/CodeGen/X86/mmx-schedule.ll @@ -188,8 +188,8 @@ define <4 x float> @test_cvtpi2ps(x86_mmx %a0, x86_mmx* %a1, <4 x float> %a2, <4 ; ; ATOM-LABEL: test_cvtpi2ps: ; ATOM: # %bb.0: -; ATOM-NEXT: cvtpi2ps (%rdi), %xmm1 # sched: [0:?] -; ATOM-NEXT: cvtpi2ps %mm0, %xmm0 # sched: [0:?] +; ATOM-NEXT: cvtpi2ps %mm0, %xmm0 # sched: [5:5.00] +; ATOM-NEXT: cvtpi2ps (%rdi), %xmm1 # sched: [5:5.00] ; ATOM-NEXT: addps %xmm1, %xmm0 # sched: [5:5.00] ; ATOM-NEXT: retq # sched: [79:39.50] ; -- 2.7.4