From 8e040d58615e49a63fb50dda5dc695e96a54a7bc Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 12 Feb 2022 02:27:49 -0800 Subject: test: add c[u]od checks to isel2 and add new integer compare test isel3 --- test/isel3.ssa | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 test/isel3.ssa (limited to 'test/isel3.ssa') diff --git a/test/isel3.ssa b/test/isel3.ssa new file mode 100644 index 0000000..5e8862a --- /dev/null +++ b/test/isel3.ssa @@ -0,0 +1,87 @@ +export function w $slt(w %x, w %y) { +@start + %r =w csltw %x, %y + ret %r +} + +export function w $sle(w %x, w %y) { +@start + %r =w cslew %x, %y + ret %r +} + +export function w $sgt(w %x, w %y) { +@start + %r =w csgtw %x, %y + ret %r +} + +export function w $sge(w %x, w %y) { +@start + %r =w csgew %x, %y + ret %r +} + +export function w $ult(w %x, w %y) { +@start + %r =w cultw %x, %y + ret %r +} + +export function w $ule(w %x, w %y) { +@start + %r =w culew %x, %y + ret %r +} + +export function w $ugt(w %x, w %y) { +@start + %r =w cugtw %x, %y + ret %r +} + +export function w $uge(w %x, w %y) { +@start + %r =w cugew %x, %y + ret %r +} + +export function w $eq(w %x, w %y) { +@start + %r =w ceqw %x, %y + ret %r +} + +export function w $ne(w %x, w %y) { +@start + %r =w cnew %x, %y + ret %r +} + +# >>> driver +# #include +# extern int slt(int, int); +# extern int sle(int, int); +# extern int sgt(int, int); +# extern int sge(int, int); +# extern int ult(unsigned, unsigned); +# extern int ule(unsigned, unsigned); +# extern int ugt(unsigned, unsigned); +# extern int uge(unsigned, unsigned); +# extern int eq(unsigned, unsigned); +# extern int ne(unsigned, unsigned); +# int main(void) { +# /* LessThan Equal GreaterThan */ +# return !slt(-1, 0) + slt(0, 0) + slt(0, -1) +# + !sle(-1, 0) + !sle(0, 0) + sle(0, -1) +# + sgt(-1, 0) + sgt(0, 0) + !sgt(0, -1) +# + sge(-1, 0) + !sge(0, 0) + !sge(0, -1) +# + !ult(0, -1) + ult(0, 0) + ult(-1, 0) +# + !ule(0, -1) + !ule(0, 0) + ule(-1, 0) +# + ugt(0, -1) + ugt(0, 0) + !ugt(-1, 0) +# + uge(0, -1) + !uge(0, 0) + !uge(-1, 0) +# + eq(0, 1) + !eq(0, 0) + eq(1, 0) +# + !ne(0, 1) + ne(0, 0) + !ne(1, 0) +# ; +# } +# <<< -- cgit 1.4.1