| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s |
| |
| define <2 x double> @f(<2 x double> %I) { |
| ; CHECK-LABEL: f: |
| ; CHECK: # %bb.0: # %BB |
| ; CHECK-NEXT: movapd {{.*#+}} xmm1 = [-0.0E+0,-0.0E+0] |
| ; CHECK-NEXT: xorpd %xmm0, %xmm1 |
| ; CHECK-NEXT: mulpd %xmm0, %xmm1 |
| ; CHECK-NEXT: mulpd %xmm0, %xmm1 |
| ; CHECK-NEXT: mulpd %xmm0, %xmm0 |
| ; CHECK-NEXT: mulpd %xmm1, %xmm0 |
| ; CHECK-NEXT: retq |
| BB: |
| %F = fneg <2 x double> %I |
| %B3 = fmul <2 x double> %I, %F |
| %B1 = fmul <2 x double> %F, %B3 |
| %B2 = fmul <2 x double> %F, %I |
| %B = fmul <2 x double> %B2, %B1 |
| ret <2 x double> %B |
| } |