brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · fc0b7f7 Raw
51 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3 4; CHECK-LABEL: test_00:5; CHECK: sfmpy(r0,r1)6define float @test_00(float %a0, float %a1) #0 {7b2:8  %v3 = fmul float %a0, %a19  ret float %v310}11 12; CHECK-LABEL: test_01:13; CHECK-DAG: [[R10:(r[0-9]+:[0-9]+)]] = dfmpyfix(r1:0,r3:2)14; CHECK-DAG: [[R11:(r[0-9]+:[0-9]+)]] = dfmpyfix(r3:2,r1:0)15; CHECK: [[R12:(r[0-9]+:[0-9]+)]] = dfmpyll([[R10]],[[R11]])16; CHECK: [[R12]] += dfmpylh([[R10]],[[R11]])17; CHECK: [[R12]] += dfmpylh([[R11]],[[R10]])18; CHECK: [[R12]] += dfmpyhh([[R10]],[[R11]])19define double @test_01(double %a0, double %a1) #1 {20b2:21  %v3 = fmul double %a0, %a122  ret double %v323}24 25; CHECK-LABEL: test_02:26; CHECK-DAG: [[R20:(r[0-9]+:[0-9]+)]] = dfmpyfix(r1:0,r3:2)27; CHECK-DAG: [[R21:(r[0-9]+:[0-9]+)]] = dfmpyfix(r3:2,r1:0)28; CHECK: [[R22:(r[0-9]+:[0-9]+)]] = dfmpyll([[R20]],[[R21]])29; CHECK: [[R22]] += dfmpylh([[R20]],[[R21]])30; CHECK: [[R22]] += dfmpylh([[R21]],[[R20]])31; CHECK: [[R22]] += dfmpyhh([[R20]],[[R21]])32define double @test_02(double %a0, double %a1) #1 {33b2:34  %v3 = fmul double %a0, %a135  ret double %v336}37 38; CHECK-LABEL: test_03:39; CHECK: [[R30:(r[0-9]+:[0-9]+)]] = dfmpyll(r1:0,r3:2)40; CHECK: [[R30]] += dfmpylh(r1:0,r3:2)41; CHECK: [[R30]] += dfmpylh(r3:2,r1:0)42; CHECK: [[R30]] += dfmpyhh(r1:0,r3:2)43define double @test_03(double %a0, double %a1) #1 {44b2:45  %v3 = fmul afn double %a0, %a146  ret double %v347}48 49attributes #0 = { nounwind }50attributes #1 = { nounwind "target-cpu"="hexagonv67" }51