diff options
Diffstat (limited to 'test/MC/Hexagon')
25 files changed, 205 insertions, 5 deletions
diff --git a/test/MC/Hexagon/inst_add.ll b/test/MC/Hexagon/inst_add.ll index 5377d94..20a7b31 100644 --- a/test/MC/Hexagon/inst_add.ll +++ b/test/MC/Hexagon/inst_add.ll @@ -7,4 +7,4 @@ define i32 @foo (i32 %a, i32 %b) ret i32 %1 } -; CHECK: 0000 004100f3 00c09f52
\ No newline at end of file +; CHECK: 0000 004100f3 00c09f52 diff --git a/test/MC/Hexagon/inst_add64.ll b/test/MC/Hexagon/inst_add64.ll new file mode 100644 index 0000000..7216067 --- /dev/null +++ b/test/MC/Hexagon/inst_add64.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i64 @foo (i64 %a, i64 %b) +{ + %1 = add i64 %a, %b + ret i64 %1 +} + +; CHECK: 0000 e04200d3 00c09f52 diff --git a/test/MC/Hexagon/inst_and.ll b/test/MC/Hexagon/inst_and.ll index 16bf304..854adf0 100644 --- a/test/MC/Hexagon/inst_and.ll +++ b/test/MC/Hexagon/inst_and.ll @@ -7,4 +7,4 @@ define i32 @foo (i32 %a, i32 %b) ret i32 %1 } -; CHECK: 0000 004100f1 00c09f52
\ No newline at end of file +; CHECK: 0000 004100f1 00c09f52 diff --git a/test/MC/Hexagon/inst_and64.ll b/test/MC/Hexagon/inst_and64.ll new file mode 100644 index 0000000..0b83074 --- /dev/null +++ b/test/MC/Hexagon/inst_and64.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i64 @foo (i64 %a, i64 %b) +{ + %1 = and i64 %a, %b + ret i64 %1 +} + +; CHECK: 0000 0042e0d3 00c09f52 diff --git a/test/MC/Hexagon/inst_aslh.ll b/test/MC/Hexagon/inst_aslh.ll new file mode 100644 index 0000000..6809438 --- /dev/null +++ b/test/MC/Hexagon/inst_aslh.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i32 @foo (i32 %a) +{ + %1 = shl i32 %a, 16 + ret i32 %1 +} + +; CHECK: 0000 00400070 00c09f52 diff --git a/test/MC/Hexagon/inst_asrh.ll b/test/MC/Hexagon/inst_asrh.ll new file mode 100644 index 0000000..f16f0a1 --- /dev/null +++ b/test/MC/Hexagon/inst_asrh.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i32 @foo (i32 %a) +{ + %1 = ashr i32 %a, 16 + ret i32 %1 +} + +; CHECK: 0000 00402070 00c09f52 diff --git a/test/MC/Hexagon/inst_cmp_eq.ll b/test/MC/Hexagon/inst_cmp_eq.ll new file mode 100644 index 0000000..113db63 --- /dev/null +++ b/test/MC/Hexagon/inst_cmp_eq.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i1 @foo (i32 %a, i32 %b) +{ + %1 = icmp eq i32 %a, %b + ret i1 %1 +} + +; CHECK: 0000 004100f2 00404089 00c09f52 diff --git a/test/MC/Hexagon/inst_cmp_eqi.ll b/test/MC/Hexagon/inst_cmp_eqi.ll new file mode 100644 index 0000000..70c4c30 --- /dev/null +++ b/test/MC/Hexagon/inst_cmp_eqi.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i1 @foo (i32 %a) +{ + %1 = icmp eq i32 %a, 42 + ret i1 %1 +} + +; CHECK: 0000 40450075 00404089 00c09f52 diff --git a/test/MC/Hexagon/inst_cmp_gt.ll b/test/MC/Hexagon/inst_cmp_gt.ll new file mode 100644 index 0000000..85fedbf --- /dev/null +++ b/test/MC/Hexagon/inst_cmp_gt.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i1 @foo (i32 %a, i32 %b) +{ + %1 = icmp sgt i32 %a, %b + ret i1 %1 +} + +; CHECK: 0000 004140f2 00404089 00c09f52 diff --git a/test/MC/Hexagon/inst_cmp_gti.ll b/test/MC/Hexagon/inst_cmp_gti.ll new file mode 100644 index 0000000..18ba3e4 --- /dev/null +++ b/test/MC/Hexagon/inst_cmp_gti.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i1 @foo (i32 %a) +{ + %1 = icmp sgt i32 %a, 42 + ret i1 %1 +} + +; CHECK: 0000 40454075 00404089 00c09f52 diff --git a/test/MC/Hexagon/inst_cmp_lt.ll b/test/MC/Hexagon/inst_cmp_lt.ll new file mode 100644 index 0000000..3a76184 --- /dev/null +++ b/test/MC/Hexagon/inst_cmp_lt.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i1 @foo (i32 %a, i32 %b) +{ + %1 = icmp slt i32 %a, %b + ret i1 %1 +} + +; CHECK: 0000 004041f2 00404089 00c09f52 diff --git a/test/MC/Hexagon/inst_cmp_ugt.ll b/test/MC/Hexagon/inst_cmp_ugt.ll new file mode 100644 index 0000000..096536f --- /dev/null +++ b/test/MC/Hexagon/inst_cmp_ugt.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i1 @foo (i32 %a, i32 %b) +{ + %1 = icmp ugt i32 %a, %b + ret i1 %1 +} + +; CHECK: 0000 004160f2 00404089 00c09f52 diff --git a/test/MC/Hexagon/inst_cmp_ugti.ll b/test/MC/Hexagon/inst_cmp_ugti.ll new file mode 100644 index 0000000..a835834 --- /dev/null +++ b/test/MC/Hexagon/inst_cmp_ugti.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i1 @foo (i32 %a) +{ + %1 = icmp ugt i32 %a, 42 + ret i1 %1 +} + +; CHECK: 0000 40458075 00404089 00c09f52 diff --git a/test/MC/Hexagon/inst_cmp_ult.ll b/test/MC/Hexagon/inst_cmp_ult.ll new file mode 100644 index 0000000..4323fa0 --- /dev/null +++ b/test/MC/Hexagon/inst_cmp_ult.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i1 @foo (i32 %a, i32 %b) +{ + %1 = icmp ult i32 %a, %b + ret i1 %1 +} + +; CHECK: 0000 004061f2 00404089 00c09f52 diff --git a/test/MC/Hexagon/inst_or.ll b/test/MC/Hexagon/inst_or.ll index fe8152b..1b966fc 100644 --- a/test/MC/Hexagon/inst_or.ll +++ b/test/MC/Hexagon/inst_or.ll @@ -7,4 +7,4 @@ define i32 @foo (i32 %a, i32 %b) ret i32 %1 } -; CHECK: 0000 004120f1 00c09f52
\ No newline at end of file +; CHECK: 0000 004120f1 00c09f52 diff --git a/test/MC/Hexagon/inst_or64.ll b/test/MC/Hexagon/inst_or64.ll new file mode 100644 index 0000000..ea10430 --- /dev/null +++ b/test/MC/Hexagon/inst_or64.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i64 @foo (i64 %a, i64 %b) +{ + %1 = or i64 %a, %b + ret i64 %1 +} + +; CHECK: 0000 4042e0d3 00c09f52 diff --git a/test/MC/Hexagon/inst_select.ll b/test/MC/Hexagon/inst_select.ll new file mode 100644 index 0000000..7e88c65 --- /dev/null +++ b/test/MC/Hexagon/inst_select.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i32 @foo (i1 %a, i32 %b, i32 %c) +{ + %1 = select i1 %a, i32 %b, i32 %c + ret i32 %1 +} + +; CHECK: 0000 00400085 004201f4 00c09f52 diff --git a/test/MC/Hexagon/inst_sub.ll b/test/MC/Hexagon/inst_sub.ll index 7523aa6..51d38c9 100644 --- a/test/MC/Hexagon/inst_sub.ll +++ b/test/MC/Hexagon/inst_sub.ll @@ -7,4 +7,4 @@ define i32 @foo (i32 %a, i32 %b) ret i32 %1 } -; CHECK: 0000 004021f3 00c09f52
\ No newline at end of file +; CHECK: 0000 004021f3 00c09f52 diff --git a/test/MC/Hexagon/inst_sub64.ll b/test/MC/Hexagon/inst_sub64.ll new file mode 100644 index 0000000..99f102d --- /dev/null +++ b/test/MC/Hexagon/inst_sub64.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i64 @foo (i64 %a, i64 %b) +{ + %1 = sub i64 %a, %b + ret i64 %1 +} + +; CHECK: 0000 e04022d3 00c09f52 diff --git a/test/MC/Hexagon/inst_sxtb.ll b/test/MC/Hexagon/inst_sxtb.ll new file mode 100644 index 0000000..4a21742 --- /dev/null +++ b/test/MC/Hexagon/inst_sxtb.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i32 @foo (i8 %a) +{ + %1 = sext i8 %a to i32 + ret i32 %1 +} + +; CHECK: 0000 0040a070 00c09f52 diff --git a/test/MC/Hexagon/inst_sxth.ll b/test/MC/Hexagon/inst_sxth.ll new file mode 100644 index 0000000..f0bcf58 --- /dev/null +++ b/test/MC/Hexagon/inst_sxth.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i32 @foo (i16 %a) +{ + %1 = sext i16 %a to i32 + ret i32 %1 +} + +; CHECK: 0000 0040e070 00c09f52 diff --git a/test/MC/Hexagon/inst_xor.ll b/test/MC/Hexagon/inst_xor.ll index fe989e5..f54f3ba 100644 --- a/test/MC/Hexagon/inst_xor.ll +++ b/test/MC/Hexagon/inst_xor.ll @@ -7,4 +7,4 @@ define i32 @foo (i32 %a, i32 %b) ret i32 %1 } -; CHECK: 0000 004160f1 00c09f52
\ No newline at end of file +; CHECK: 0000 004160f1 00c09f52 diff --git a/test/MC/Hexagon/inst_xor64.ll b/test/MC/Hexagon/inst_xor64.ll new file mode 100644 index 0000000..7f77c46 --- /dev/null +++ b/test/MC/Hexagon/inst_xor64.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i64 @foo (i64 %a, i64 %b) +{ + %1 = xor i64 %a, %b + ret i64 %1 +} + +; CHECK: 0000 8042e0d3 00c09f52 diff --git a/test/MC/Hexagon/inst_zxtb.ll b/test/MC/Hexagon/inst_zxtb.ll new file mode 100644 index 0000000..622c036 --- /dev/null +++ b/test/MC/Hexagon/inst_zxtb.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i32 @foo (i8 %a) +{ + %1 = zext i8 %a to i32 + ret i32 %1 +} + +; CHECK: 0000 e05f0076 00c09f52 diff --git a/test/MC/Hexagon/inst_zxth.ll b/test/MC/Hexagon/inst_zxth.ll new file mode 100644 index 0000000..962210b --- /dev/null +++ b/test/MC/Hexagon/inst_zxth.ll @@ -0,0 +1,10 @@ +;; RUN: llc -mtriple=hexagon-unknown-elf -filetype=obj %s -o - \ +;; RUN: | llvm-objdump -s - | FileCheck %s + +define i32 @foo (i16 %a) +{ + %1 = zext i16 %a to i32 + ret i32 %1 +} + +; CHECK: 0000 0040c070 00c09f52 |