diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2018-08-08 23:06:59 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2018-08-08 23:06:59 +0000 |
| commit | f9a80fe87a7992c7a65e66bcb414dc34bdd339b9 (patch) | |
| tree | 9a815db7a0a9992f9f705dfb57012f7aedb3f01c | |
| parent | e47dc1a40522761752a4bdcb5e23f8147c1da0e2 (diff) | |
| download | bcm5719-llvm-f9a80fe87a7992c7a65e66bcb414dc34bdd339b9.tar.gz bcm5719-llvm-f9a80fe87a7992c7a65e66bcb414dc34bdd339b9.zip | |
[x86] add test for commuted variant for fsub fold; NFC
llvm-svn: 339300
| -rw-r--r-- | llvm/test/CodeGen/X86/fp-fold.ll | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/fp-fold.ll b/llvm/test/CodeGen/X86/fp-fold.ll index 1102b755130..60da70ab3ac 100644 --- a/llvm/test/CodeGen/X86/fp-fold.ll +++ b/llvm/test/CodeGen/X86/fp-fold.ll @@ -103,13 +103,32 @@ define float @fsub_neg_y(float %x, float %y) { ; UNSAFE-NEXT: subss %xmm1, %xmm0 ; UNSAFE-NEXT: addss %xmm1, %xmm0 ; UNSAFE-NEXT: retq - %mul = fmul float %x, 5.000000e+00 + %mul = fmul float %x, 5.0 %add = fadd float %mul, %y %r = fsub nsz reassoc float %y, %add ret float %r } -; Test node-level flags with: +define float @fsub_neg_y_commute(float %x, float %y) { +; STRICT-LABEL: fsub_neg_y_commute: +; STRICT: # %bb.0: +; STRICT-NEXT: mulss {{.*}}(%rip), %xmm0 +; STRICT-NEXT: addss %xmm1, %xmm0 +; STRICT-NEXT: subss %xmm0, %xmm1 +; STRICT-NEXT: movaps %xmm1, %xmm0 +; STRICT-NEXT: retq +; +; UNSAFE-LABEL: fsub_neg_y_commute: +; UNSAFE: # %bb.0: +; UNSAFE-NEXT: mulss {{.*}}(%rip), %xmm0 +; UNSAFE-NEXT: subss %xmm1, %xmm0 +; UNSAFE-NEXT: addss %xmm1, %xmm0 +; UNSAFE-NEXT: retq + %mul = fmul float %x, 5.0 + %add = fadd float %y, %mul + %r = fsub nsz reassoc float %y, %add + ret float %r +} ; Y - (X + Y) --> -X define float @fsub_fadd_common_op_fneg(float %x, float %y) { |

