nvptx: Add test-case gcc.target/nvptx/exttrunc-1.c
authorRoger Sayle <roger@nextmovesoftware.com>
Wed, 8 Dec 2021 13:21:49 +0000 (14:21 +0100)
committerTom de Vries <tdevries@suse.de>
Wed, 8 Dec 2021 15:42:04 +0000 (16:42 +0100)
Add new test-case converting short to char and back to short.

Tested on nvptx.

gcc/testsuite/ChangeLog:

* gcc.target/nvptx/exttrunc-1.c: New test case.

gcc/testsuite/gcc.target/nvptx/exttrunc-1.c [new file with mode: 0644]

diff --git a/gcc/testsuite/gcc.target/nvptx/exttrunc-1.c b/gcc/testsuite/gcc.target/nvptx/exttrunc-1.c
new file mode 100644 (file)
index 0000000..ed9ceee
--- /dev/null
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+short exttrunc_hi2_qi(short x)
+{
+  return (char)x;
+}
+
+/* Match:
+   mov.u32 %r24, %ar0;
+   cvt.u32.u32 %r26, %r24;
+   cvt.s32.s8 %value, %r26;
+   Todo: Remove cvt.u32.u32.  */
+
+/* { dg-final { scan-assembler-times "mov\.u32\t%r\[0-9\]*, %ar0" 1 } } */
+/* { dg-final { scan-assembler-times "mov\." 1 } } */
+
+/* { dg-final { scan-assembler-times "cvt\.u32\.u32" 1 } } */
+/* { dg-final { scan-assembler-times "cvt\.s32\.s8" 1 } } */
+/* { dg-final { scan-assembler-times "cvt\." 2 } } */