diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-12-05 21:01:07 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-12-05 21:01:07 +0000 |
commit | 545a68ca4bf912d57beecf5ea63f4e8726b5150d (patch) | |
tree | 8e6f4801b232250eb3593f4f59cdf176687f98b0 /llvm/test/CodeGen/Hexagon | |
parent | 0da68bae8980bb69e498fc1a2867ff68fd0f72cc (diff) | |
download | bcm5719-llvm-545a68ca4bf912d57beecf5ea63f4e8726b5150d.tar.gz bcm5719-llvm-545a68ca4bf912d57beecf5ea63f4e8726b5150d.zip |
[Hexagon] Add instruction definitions for Hexagon V66
llvm-svn: 348411
Diffstat (limited to 'llvm/test/CodeGen/Hexagon')
-rw-r--r-- | llvm/test/CodeGen/Hexagon/dfp.ll | 19 | ||||
-rw-r--r-- | llvm/test/CodeGen/Hexagon/mnaci_v66.ll | 15 |
2 files changed, 34 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/dfp.ll b/llvm/test/CodeGen/Hexagon/dfp.ll new file mode 100644 index 00000000000..e4fe10bad0b --- /dev/null +++ b/llvm/test/CodeGen/Hexagon/dfp.ll @@ -0,0 +1,19 @@ +; RUN: llc -march=hexagon < %s | FileCheck %s + +; CHECK-LABEL: df_add: +; CHECK: dfadd +define double @df_add(double %x, double %y) local_unnamed_addr #0 { +entry: + %add = fadd double %x, %y + ret double %add +} + +; CHECK-LABEL: df_sub: +; CHECK: dfsub +define double @df_sub(double %x, double %y) local_unnamed_addr #0 { +entry: + %sub = fsub double %x, %y + ret double %sub +} + +attributes #0 = { norecurse nounwind readnone "target-cpu"="hexagonv66" } diff --git a/llvm/test/CodeGen/Hexagon/mnaci_v66.ll b/llvm/test/CodeGen/Hexagon/mnaci_v66.ll new file mode 100644 index 00000000000..63f3788fe56 --- /dev/null +++ b/llvm/test/CodeGen/Hexagon/mnaci_v66.ll @@ -0,0 +1,15 @@ +; RUN: llc -march=hexagon < %s | FileCheck %s +; This test validates the generation of v66 only instruction M2_mnaci +; CHECK: r{{[0-9]+}} -= mpyi(r{{[0-9]+}},r{{[0-9]+}}) + +target triple = "hexagon-unknown--elf" + +; Function Attrs: norecurse nounwind readnone +define i32 @_Z4testiii(i32 %a, i32 %b, i32 %c) #0 { +entry: + %mul = mul nsw i32 %c, %b + %sub = sub nsw i32 %a, %mul + ret i32 %sub +} + +attributes #0 = { norecurse nounwind readnone "target-cpu"="hexagonv66" "target-features"="-hvx,-long-calls" } |