| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: llc -mtriple=arm-eabi -mattr=+v6,+vfp2 %s -o - | FileCheck %s |
| |
| define double @t1(double %a, double %b) { |
| ; CHECK-LABEL: t1: |
| ; CHECK: @ %bb.0: @ %entry |
| ; CHECK-NEXT: vmov d0, r2, r3 |
| ; CHECK-NEXT: vmov d1, r0, r1 |
| ; CHECK-NEXT: vnmul.f64 d0, d1, d0 |
| ; CHECK-NEXT: vmov r0, r1, d0 |
| ; CHECK-NEXT: bx lr |
| entry: |
| %tmp2 = fsub double -0.000000e+00, %a |
| %tmp4 = fmul double %tmp2, %b |
| ret double %tmp4 |
| } |
| |
| define double @tfast(double %a, double %b) { |
| ; CHECK-LABEL: tfast: |
| ; CHECK: @ %bb.0: @ %entry |
| ; CHECK-NEXT: vmov d0, r2, r3 |
| ; CHECK-NEXT: vmov d1, r0, r1 |
| ; CHECK-NEXT: vnmul.f64 d0, d1, d0 |
| ; CHECK-NEXT: vmov r0, r1, d0 |
| ; CHECK-NEXT: bx lr |
| entry: |
| %tmp2 = fsub fast double -0.000000e+00, %a |
| %tmp4 = fmul fast double %tmp2, %b |
| ret double %tmp4 |
| } |