summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/sparc/fpmerge.c
diff options
context:
space:
mode:
authorphython <phython@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-23 00:35:38 +0000
committerphython <phython@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-23 00:35:38 +0000
commit5e8cda9b52853ea899614b0d1a334bd3911ea76f (patch)
treef8e466895eabdaea724ca0e1612370f5426f38db /gcc/testsuite/gcc.target/sparc/fpmerge.c
parentc2340cd6d14d8df5345f9849c909a618e1c0710c (diff)
downloadgcc-5e8cda9b52853ea899614b0d1a334bd3911ea76f.tar.gz
2004-11-22 James A. Morrison <phython@gcc.gnu.org
* config/sparc/sparc.c: Include insn-codes.h and langhooks.h. (sparc_init_builtins): New function. (sparc_init_vis_builtins): Create builtin functions for VIS instructions. (sparc_expand_builtin): Expand builtin functions for VIS instructions. (TARGET_INIT_BUILTINS): Define to sparc_init_builtins. (TARGET_EXPAND_BUILTIN): Define to sparc_expand_builtin. (def_builtin): New macro for creating builtin functions. (P): New mode macro for pointer types. (UNSPEC_FPACK16, UNSPEC_FPACK32, UNSPEC_FPACKFIX, UNSPEC_FEXPAND, UNSPEC_FPMERGE, UNSPEC_MUL16AL, UNSPEC_MUL8UL, UNSPEC_MULDUL, UNSPEC_ALIGNDATA, UNSPEC_ALIGNADDR, UNSPEC_PDIST): New constants. (fpack16_vis, fpackfix_vis, fpack32_vis, fexpand_vis, fpmerge_vis, fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis, fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis, pdist_vis, faligndata<V64:mode>_vis, alignaddr<P:mode>_vis): New patterns. testsuite: * gcc.target/sparc/align.c, gcc.target/sparc/combined-2.c, gcc.target/sparc/fpack16.c, gcc.target/sparc/fpack32.c, gcc.target/sparc/fpackfix.c, gcc.target/fexpand.c, gcc.target/sparc/fpmerge.c, gcc.target/sparc/fpmul.c, gcc.target/sparc/pdist.c: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91057 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.target/sparc/fpmerge.c')
-rw-r--r--gcc/testsuite/gcc.target/sparc/fpmerge.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/sparc/fpmerge.c b/gcc/testsuite/gcc.target/sparc/fpmerge.c
new file mode 100644
index 00000000000..013795cc6d7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/sparc/fpmerge.c
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-mcpu=ultrasparc -mvis" } */
+typedef char pixel __attribute__((vector_size(8)));
+typedef char vec8 __attribute__((vector_size(4)));
+
+pixel foo (vec8 a, vec8 b) {
+ return __builtin_vis_fpmerge (a, b);
+}
+
+/* { dg-final { scan-assembler "fpmerge\t%" } } */