aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <roger@nextmovesoftware.com>2021-12-08 14:21:49 +0100
committerTom de Vries <tdevries@suse.de>2021-12-08 16:42:04 +0100
commitd3d44a00e511f0402e8a2449c1c9c27f28ac9cf7 (patch)
tree6bec22608f626de5c5d23248f30dfa9539df7acc
parent0ab29cf0bb68960c1f87405f14b4fb2109254e2f (diff)
downloadgcc-d3d44a00e511f0402e8a2449c1c9c27f28ac9cf7.zip
gcc-d3d44a00e511f0402e8a2449c1c9c27f28ac9cf7.tar.gz
gcc-d3d44a00e511f0402e8a2449c1c9c27f28ac9cf7.tar.bz2
nvptx: Add test-case gcc.target/nvptx/exttrunc-1.c
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.
-rw-r--r--gcc/testsuite/gcc.target/nvptx/exttrunc-1.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/nvptx/exttrunc-1.c b/gcc/testsuite/gcc.target/nvptx/exttrunc-1.c
new file mode 100644
index 0000000..ed9ceee
--- /dev/null
+++ b/gcc/testsuite/gcc.target/nvptx/exttrunc-1.c
@@ -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 } } */