Skip to content

Commit 4ef7c28

Browse files
committed
[X86] Add missing properties on llvm.x86.sse.{st,ld}mxcsr
Summary: llvm.x86.sse.stmxcsr only writes to memory. llvm.x86.sse.ldmxcsr only reads from memory, and might generate an FPE. Reviewers: craig.topper, RKSimon Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62896 llvm-svn: 363773
1 parent 80b6b70 commit 4ef7c28

24 files changed

+60
-48
lines changed

llvm/include/llvm/IR/IntrinsicsX86.td

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,9 +277,17 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
277277
// Control register.
278278
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
279279
def int_x86_sse_stmxcsr :
280-
Intrinsic<[], [llvm_ptr_ty], []>;
280+
Intrinsic<[], [llvm_ptr_ty],
281+
[IntrWriteMem, IntrArgMemOnly,
282+
// This prevents reordering with ldmxcsr
283+
IntrHasSideEffects]>;
281284
def int_x86_sse_ldmxcsr :
282-
Intrinsic<[], [llvm_ptr_ty], []>;
285+
Intrinsic<[], [llvm_ptr_ty],
286+
[IntrReadMem, IntrArgMemOnly, IntrHasSideEffects,
287+
// FIXME: LDMXCSR does not actualy write to memory,
288+
// but Fast and DAG Isel both use writing to memory
289+
// as a proxy for having side effects.
290+
IntrWriteMem]>;
283291
}
284292

285293
// Misc.

llvm/lib/Target/X86/X86InstrSSE.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3174,16 +3174,20 @@ def : Pat<(X86MFence), (MFENCE)>;
31743174
// SSE 1 & 2 - Load/Store XCSR register
31753175
//===----------------------------------------------------------------------===//
31763176

3177+
let mayLoad=1, hasSideEffects=1 in
31773178
def VLDMXCSR : VPSI<0xAE, MRM2m, (outs), (ins i32mem:$src),
31783179
"ldmxcsr\t$src", [(int_x86_sse_ldmxcsr addr:$src)]>,
31793180
VEX, Sched<[WriteLDMXCSR]>, VEX_WIG;
3181+
let mayStore=1, hasSideEffects=1 in
31803182
def VSTMXCSR : VPSI<0xAE, MRM3m, (outs), (ins i32mem:$dst),
31813183
"stmxcsr\t$dst", [(int_x86_sse_stmxcsr addr:$dst)]>,
31823184
VEX, Sched<[WriteSTMXCSR]>, VEX_WIG;
31833185

3186+
let mayLoad=1, hasSideEffects=1 in
31843187
def LDMXCSR : I<0xAE, MRM2m, (outs), (ins i32mem:$src),
31853188
"ldmxcsr\t$src", [(int_x86_sse_ldmxcsr addr:$src)]>,
31863189
TB, Sched<[WriteLDMXCSR]>;
3190+
let mayStore=1, hasSideEffects=1 in
31873191
def STMXCSR : I<0xAE, MRM3m, (outs), (ins i32mem:$dst),
31883192
"stmxcsr\t$dst", [(int_x86_sse_stmxcsr addr:$dst)]>,
31893193
TB, Sched<[WriteSTMXCSR]>;

llvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ xorps (%rax), %xmm2
230230
# CHECK-NEXT: 1 70 35.00 * divps (%rax), %xmm2
231231
# CHECK-NEXT: 1 34 17.00 divss %xmm0, %xmm2
232232
# CHECK-NEXT: 1 34 17.00 * divss (%rax), %xmm2
233-
# CHECK-NEXT: 1 5 2.50 * * U ldmxcsr (%rax)
233+
# CHECK-NEXT: 1 5 2.50 * U ldmxcsr (%rax)
234234
# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
235235
# CHECK-NEXT: 1 5 5.00 maxps %xmm0, %xmm2
236236
# CHECK-NEXT: 1 5 5.00 * maxps (%rax), %xmm2
@@ -305,7 +305,7 @@ xorps (%rax), %xmm2
305305
# CHECK-NEXT: 1 70 35.00 * sqrtps (%rax), %xmm2
306306
# CHECK-NEXT: 1 34 17.00 sqrtss %xmm0, %xmm2
307307
# CHECK-NEXT: 1 34 17.00 * sqrtss (%rax), %xmm2
308-
# CHECK-NEXT: 1 15 7.50 * * U stmxcsr (%rax)
308+
# CHECK-NEXT: 1 15 7.50 * U stmxcsr (%rax)
309309
# CHECK-NEXT: 1 5 5.00 subps %xmm0, %xmm2
310310
# CHECK-NEXT: 1 5 5.00 * subps (%rax), %xmm2
311311
# CHECK-NEXT: 1 5 5.00 subss %xmm0, %xmm2

llvm/test/tools/llvm-mca/X86/BdVer2/pr37790.s

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ stmxcsr (%rsp)
2424

2525
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
2626
# CHECK-NEXT: 1 100 0.50 * * U int3
27-
# CHECK-NEXT: 2 1 18.00 * * U stmxcsr (%rsp)
27+
# CHECK-NEXT: 2 1 18.00 * U stmxcsr (%rsp)
2828

2929
# CHECK: Timeline view:
3030
# CHECK-NEXT: 0123456789 0123456789 0123456789 0123456789 0123456789
@@ -40,5 +40,5 @@ stmxcsr (%rsp)
4040
# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
4141

4242
# CHECK: [0] [1] [2] [3]
43-
# CHECK-NEXT: 0. 2 1.0 0.5 0.0 int3
44-
# CHECK-NEXT: 1. 2 100.5 0.0 0.0 stmxcsr (%rsp)
43+
# CHECK-NEXT: 0. 2 51.5 0.5 0.0 int3
44+
# CHECK-NEXT: 1. 2 151.0 0.0 0.0 stmxcsr (%rsp)

llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,7 +1218,7 @@ vzeroupper
12181218
# CHECK-NEXT: 1 7 1.50 * vinsertps $1, (%rax), %xmm1, %xmm2
12191219
# CHECK-NEXT: 1 5 1.50 * vlddqu (%rax), %xmm2
12201220
# CHECK-NEXT: 2 5 1.50 * vlddqu (%rax), %ymm2
1221-
# CHECK-NEXT: 1 5 0.50 * * U vldmxcsr (%rax)
1221+
# CHECK-NEXT: 1 5 0.50 * U vldmxcsr (%rax)
12221222
# CHECK-NEXT: 1 1 1.50 * * U vmaskmovdqu %xmm0, %xmm1
12231223
# CHECK-NEXT: 1 6 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2
12241224
# CHECK-NEXT: 2 6 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
@@ -1670,7 +1670,7 @@ vzeroupper
16701670
# CHECK-NEXT: 1 14 4.50 * vsqrtsd (%rax), %xmm1, %xmm2
16711671
# CHECK-NEXT: 1 9 4.50 vsqrtss %xmm0, %xmm1, %xmm2
16721672
# CHECK-NEXT: 1 14 4.50 * vsqrtss (%rax), %xmm1, %xmm2
1673-
# CHECK-NEXT: 2 1 18.00 * * U vstmxcsr (%rax)
1673+
# CHECK-NEXT: 2 1 18.00 * U vstmxcsr (%rax)
16741674
# CHECK-NEXT: 1 5 1.00 vsubpd %xmm0, %xmm1, %xmm2
16751675
# CHECK-NEXT: 1 10 1.50 * vsubpd (%rax), %xmm1, %xmm2
16761676
# CHECK-NEXT: 2 5 1.00 vsubpd %ymm0, %ymm1, %ymm2

llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ xorps (%rax), %xmm2
230230
# CHECK-NEXT: 1 14 4.50 * divps (%rax), %xmm2
231231
# CHECK-NEXT: 1 9 4.50 divss %xmm0, %xmm2
232232
# CHECK-NEXT: 1 14 4.50 * divss (%rax), %xmm2
233-
# CHECK-NEXT: 1 5 0.50 * * U ldmxcsr (%rax)
233+
# CHECK-NEXT: 1 5 0.50 * U ldmxcsr (%rax)
234234
# CHECK-NEXT: 1 2 1.00 * * U maskmovq %mm0, %mm1
235235
# CHECK-NEXT: 1 2 1.00 maxps %xmm0, %xmm2
236236
# CHECK-NEXT: 1 7 1.50 * maxps (%rax), %xmm2
@@ -305,7 +305,7 @@ xorps (%rax), %xmm2
305305
# CHECK-NEXT: 1 14 4.50 * sqrtps (%rax), %xmm2
306306
# CHECK-NEXT: 1 9 4.50 sqrtss %xmm0, %xmm2
307307
# CHECK-NEXT: 1 14 4.50 * sqrtss (%rax), %xmm2
308-
# CHECK-NEXT: 2 1 18.00 * * U stmxcsr (%rax)
308+
# CHECK-NEXT: 2 1 18.00 * U stmxcsr (%rax)
309309
# CHECK-NEXT: 1 5 1.00 subps %xmm0, %xmm2
310310
# CHECK-NEXT: 1 10 1.50 * subps (%rax), %xmm2
311311
# CHECK-NEXT: 1 5 1.00 subss %xmm0, %xmm2

llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,7 +1218,7 @@ vzeroupper
12181218
# CHECK-NEXT: 2 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
12191219
# CHECK-NEXT: 1 5 0.50 * vlddqu (%rax), %xmm2
12201220
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %ymm2
1221-
# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
1221+
# CHECK-NEXT: 3 7 1.00 * U vldmxcsr (%rax)
12221222
# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
12231223
# CHECK-NEXT: 3 7 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2
12241224
# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
@@ -1670,7 +1670,7 @@ vzeroupper
16701670
# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2
16711671
# CHECK-NEXT: 1 11 4.00 vsqrtss %xmm0, %xmm1, %xmm2
16721672
# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2
1673-
# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
1673+
# CHECK-NEXT: 3 2 1.00 * U vstmxcsr (%rax)
16741674
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
16751675
# CHECK-NEXT: 2 8 1.00 * vsubpd (%rax), %xmm1, %xmm2
16761676
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2

llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ xorps (%rax), %xmm2
230230
# CHECK-NEXT: 2 16 5.00 * divps (%rax), %xmm2
231231
# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2
232232
# CHECK-NEXT: 2 16 5.00 * divss (%rax), %xmm2
233-
# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
233+
# CHECK-NEXT: 3 7 1.00 * U ldmxcsr (%rax)
234234
# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
235235
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
236236
# CHECK-NEXT: 2 8 1.00 * maxps (%rax), %xmm2
@@ -305,7 +305,7 @@ xorps (%rax), %xmm2
305305
# CHECK-NEXT: 2 16 7.00 * sqrtps (%rax), %xmm2
306306
# CHECK-NEXT: 1 11 4.00 sqrtss %xmm0, %xmm2
307307
# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2
308-
# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
308+
# CHECK-NEXT: 3 2 1.00 * U stmxcsr (%rax)
309309
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
310310
# CHECK-NEXT: 2 8 1.00 * subps (%rax), %xmm2
311311
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2

llvm/test/tools/llvm-mca/X86/BtVer2/pr37790.s

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ stmxcsr (%rsp)
2424

2525
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
2626
# CHECK-NEXT: 1 100 0.50 * * U int3
27-
# CHECK-NEXT: 1 1 1.00 * * U stmxcsr (%rsp)
27+
# CHECK-NEXT: 1 1 1.00 * U stmxcsr (%rsp)
2828

2929
# CHECK: Timeline view:
3030
# CHECK-NEXT: 0123456789 0123456789 0123456789 0123456789 0123456789
@@ -40,5 +40,5 @@ stmxcsr (%rsp)
4040
# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
4141

4242
# CHECK: [0] [1] [2] [3]
43-
# CHECK-NEXT: 0. 2 1.0 0.5 0.0 int3
44-
# CHECK-NEXT: 1. 2 100.5 0.0 0.0 stmxcsr (%rsp)
43+
# CHECK-NEXT: 0. 2 51.0 0.5 0.0 int3
44+
# CHECK-NEXT: 1. 2 151.0 0.0 0.0 stmxcsr (%rsp)

llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,7 +1218,7 @@ vzeroupper
12181218
# CHECK-NEXT: 1 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
12191219
# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %xmm2
12201220
# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %ymm2
1221-
# CHECK-NEXT: 1 3 1.00 * * U vldmxcsr (%rax)
1221+
# CHECK-NEXT: 1 3 1.00 * U vldmxcsr (%rax)
12221222
# CHECK-NEXT: 1 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
12231223
# CHECK-NEXT: 1 6 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2
12241224
# CHECK-NEXT: 2 6 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
@@ -1670,7 +1670,7 @@ vzeroupper
16701670
# CHECK-NEXT: 1 32 27.00 * vsqrtsd (%rax), %xmm1, %xmm2
16711671
# CHECK-NEXT: 1 21 21.00 vsqrtss %xmm0, %xmm1, %xmm2
16721672
# CHECK-NEXT: 1 26 21.00 * vsqrtss (%rax), %xmm1, %xmm2
1673-
# CHECK-NEXT: 1 1 1.00 * * U vstmxcsr (%rax)
1673+
# CHECK-NEXT: 1 1 1.00 * U vstmxcsr (%rax)
16741674
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
16751675
# CHECK-NEXT: 1 8 1.00 * vsubpd (%rax), %xmm1, %xmm2
16761676
# CHECK-NEXT: 2 3 2.00 vsubpd %ymm0, %ymm1, %ymm2

llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ xorps (%rax), %xmm2
230230
# CHECK-NEXT: 1 24 19.00 * divps (%rax), %xmm2
231231
# CHECK-NEXT: 1 19 19.00 divss %xmm0, %xmm2
232232
# CHECK-NEXT: 1 24 19.00 * divss (%rax), %xmm2
233-
# CHECK-NEXT: 1 3 1.00 * * U ldmxcsr (%rax)
233+
# CHECK-NEXT: 1 3 1.00 * U ldmxcsr (%rax)
234234
# CHECK-NEXT: 1 1 0.50 * * U maskmovq %mm0, %mm1
235235
# CHECK-NEXT: 1 2 1.00 maxps %xmm0, %xmm2
236236
# CHECK-NEXT: 1 7 1.00 * maxps (%rax), %xmm2
@@ -305,7 +305,7 @@ xorps (%rax), %xmm2
305305
# CHECK-NEXT: 1 26 21.00 * sqrtps (%rax), %xmm2
306306
# CHECK-NEXT: 1 21 21.00 sqrtss %xmm0, %xmm2
307307
# CHECK-NEXT: 1 26 21.00 * sqrtss (%rax), %xmm2
308-
# CHECK-NEXT: 1 1 1.00 * * U stmxcsr (%rax)
308+
# CHECK-NEXT: 1 1 1.00 * U stmxcsr (%rax)
309309
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
310310
# CHECK-NEXT: 1 8 1.00 * subps (%rax), %xmm2
311311
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2

llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,7 +1218,7 @@ vzeroupper
12181218
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
12191219
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
12201220
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
1221-
# CHECK-NEXT: 4 5 1.00 * * U vldmxcsr (%rax)
1221+
# CHECK-NEXT: 4 5 1.00 * U vldmxcsr (%rax)
12221222
# CHECK-NEXT: 1 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
12231223
# CHECK-NEXT: 3 8 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2
12241224
# CHECK-NEXT: 3 9 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2
@@ -1670,7 +1670,7 @@ vzeroupper
16701670
# CHECK-NEXT: 2 27 21.00 * vsqrtsd (%rax), %xmm1, %xmm2
16711671
# CHECK-NEXT: 1 14 14.00 vsqrtss %xmm0, %xmm1, %xmm2
16721672
# CHECK-NEXT: 2 20 14.00 * vsqrtss (%rax), %xmm1, %xmm2
1673-
# CHECK-NEXT: 4 5 1.00 * * U vstmxcsr (%rax)
1673+
# CHECK-NEXT: 4 5 1.00 * U vstmxcsr (%rax)
16741674
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
16751675
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm1, %xmm2
16761676
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2

llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ xorps (%rax), %xmm2
230230
# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2
231231
# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2
232232
# CHECK-NEXT: 2 20 14.00 * divss (%rax), %xmm2
233-
# CHECK-NEXT: 4 5 1.00 * * U ldmxcsr (%rax)
233+
# CHECK-NEXT: 4 5 1.00 * U ldmxcsr (%rax)
234234
# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
235235
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
236236
# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2
@@ -305,7 +305,7 @@ xorps (%rax), %xmm2
305305
# CHECK-NEXT: 2 20 14.00 * sqrtps (%rax), %xmm2
306306
# CHECK-NEXT: 1 14 14.00 sqrtss %xmm0, %xmm2
307307
# CHECK-NEXT: 2 20 14.00 * sqrtss (%rax), %xmm2
308-
# CHECK-NEXT: 4 5 1.00 * * U stmxcsr (%rax)
308+
# CHECK-NEXT: 4 5 1.00 * U stmxcsr (%rax)
309309
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
310310
# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2
311311
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2

llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,7 +1218,7 @@ vzeroupper
12181218
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
12191219
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
12201220
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
1221-
# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
1221+
# CHECK-NEXT: 3 7 1.00 * U vldmxcsr (%rax)
12221222
# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
12231223
# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2
12241224
# CHECK-NEXT: 3 9 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
@@ -1670,7 +1670,7 @@ vzeroupper
16701670
# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2
16711671
# CHECK-NEXT: 1 11 7.00 vsqrtss %xmm0, %xmm1, %xmm2
16721672
# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2
1673-
# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
1673+
# CHECK-NEXT: 3 2 1.00 * U vstmxcsr (%rax)
16741674
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
16751675
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm1, %xmm2
16761676
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2

llvm/test/tools/llvm-mca/X86/Haswell/resources-sse1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ xorps (%rax), %xmm2
230230
# CHECK-NEXT: 2 19 7.00 * divps (%rax), %xmm2
231231
# CHECK-NEXT: 1 13 7.00 divss %xmm0, %xmm2
232232
# CHECK-NEXT: 2 18 7.00 * divss (%rax), %xmm2
233-
# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
233+
# CHECK-NEXT: 3 7 1.00 * U ldmxcsr (%rax)
234234
# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
235235
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
236236
# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2
@@ -305,7 +305,7 @@ xorps (%rax), %xmm2
305305
# CHECK-NEXT: 2 17 7.00 * sqrtps (%rax), %xmm2
306306
# CHECK-NEXT: 1 11 7.00 sqrtss %xmm0, %xmm2
307307
# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2
308-
# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
308+
# CHECK-NEXT: 3 2 1.00 * U stmxcsr (%rax)
309309
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
310310
# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2
311311
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2

llvm/test/tools/llvm-mca/X86/SLM/resources-sse1.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ xorps (%rax), %xmm2
230230
# CHECK-NEXT: 1 42 39.00 * divps (%rax), %xmm2
231231
# CHECK-NEXT: 1 19 17.00 divss %xmm0, %xmm2
232232
# CHECK-NEXT: 1 22 17.00 * divss (%rax), %xmm2
233-
# CHECK-NEXT: 1 3 1.00 * * U ldmxcsr (%rax)
233+
# CHECK-NEXT: 1 3 1.00 * U ldmxcsr (%rax)
234234
# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
235235
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
236236
# CHECK-NEXT: 1 6 1.00 * maxps (%rax), %xmm2
@@ -305,7 +305,7 @@ xorps (%rax), %xmm2
305305
# CHECK-NEXT: 1 44 40.00 * sqrtps (%rax), %xmm2
306306
# CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2
307307
# CHECK-NEXT: 1 23 20.00 * sqrtss (%rax), %xmm2
308-
# CHECK-NEXT: 1 1 1.00 * * U stmxcsr (%rax)
308+
# CHECK-NEXT: 1 1 1.00 * U stmxcsr (%rax)
309309
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
310310
# CHECK-NEXT: 1 6 1.00 * subps (%rax), %xmm2
311311
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2

0 commit comments

Comments
 (0)