diff options
author | Julian Brown <julian@codesourcery.com> | 2006-10-30 03:30:10 +0000 |
---|---|---|
committer | Julian Brown <julian@codesourcery.com> | 2006-10-30 03:30:10 +0000 |
commit | b8ce51d563dc5d329d8ca86474f354046e043fde (patch) | |
tree | 58e04a0e25ac05b5b60ae46b39173de3f158dd4b | |
parent | 7d03daf23d7b39406bc6995d18be6b23648ff684 (diff) |
gcc/
* config/arm/neon.ml (poly_unsigned_variant): New function.
(elts_same_io_bits_suffix): Now unused, remove.
(table, table_2, table_io): New type munging functions for table
look-up operations.
(ops): Use table_2 and table_io for Vtbl, Vtbx instead of bits_2 and
elts_same_io_bits_suffix.
* config/arm/arm_neon.h: Regenerate.
* doc/arm-neon-intrinsics.texi: Regenerate.
* testsuite/gcc.target/arm/neon/*.c: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@118172 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | ChangeLog.csl | 13 | ||||
-rw-r--r-- | gcc/config/arm/arm_neon.h | 16 | ||||
-rw-r--r-- | gcc/config/arm/neon.ml | 52 | ||||
-rw-r--r-- | gcc/doc/arm-neon-intrinsics.texi | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c | 4 |
12 files changed, 76 insertions, 53 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl index ac3a4b4ab1c..bc1bef57da8 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,16 @@ +2006-10-30 Julian Brown <julian@codesourcery.com> + + gcc/ + * config/arm/neon.ml (poly_unsigned_variant): New function. + (elts_same_io_bits_suffix): Now unused, remove. + (table, table_2, table_io): New type munging functions for table + look-up operations. + (ops): Use table_2 and table_io for Vtbl, Vtbx instead of bits_2 and + elts_same_io_bits_suffix. + * config/arm/arm_neon.h: Regenerate. + * doc/arm-neon-intrinsics.texi: Regenerate. + * testsuite/gcc.target/arm/neon/*.c: Regenerate. + 2006-10-29 Julian Brown <julian@codesourcery.com> gcc/ diff --git a/gcc/config/arm/arm_neon.h b/gcc/config/arm/arm_neon.h index 4c2797bb7e7..63ca2f095f9 100644 --- a/gcc/config/arm/arm_neon.h +++ b/gcc/config/arm/arm_neon.h @@ -6089,7 +6089,7 @@ vtbl1_u8 (uint8x8_t __a, uint8x8_t __b) } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbl1_p8 (poly8x8_t __a, poly8x8_t __b) +vtbl1_p8 (poly8x8_t __a, uint8x8_t __b) { return __builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b); } @@ -6109,7 +6109,7 @@ vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b) } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbl2_p8 (poly8x8x2_t __a, poly8x8_t __b) +vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b) { union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a }; return __builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b); @@ -6130,7 +6130,7 @@ vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b) } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbl3_p8 (poly8x8x3_t __a, poly8x8_t __b) +vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b) { union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a }; return __builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b); @@ -6151,7 +6151,7 @@ vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b) } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbl4_p8 (poly8x8x4_t __a, poly8x8_t __b) +vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b) { union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a }; return __builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b); @@ -6170,7 +6170,7 @@ vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, poly8x8_t __c) +vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c) { return __builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c); } @@ -6190,7 +6190,7 @@ vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c) } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, poly8x8_t __c) +vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c) { union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; return __builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); @@ -6211,7 +6211,7 @@ vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c) } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, poly8x8_t __c) +vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c) { union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; return __builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); @@ -6232,7 +6232,7 @@ vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c) } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, poly8x8_t __c) +vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c) { union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; return __builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); diff --git a/gcc/config/arm/neon.ml b/gcc/config/arm/neon.ml index a2b00e2fdcf..49b3ea3acb3 100644 --- a/gcc/config/arm/neon.ml +++ b/gcc/config/arm/neon.ml @@ -303,6 +303,12 @@ let non_signed_variant = function | U64 -> I64 | x -> x +let poly_unsigned_variant v = + let elclass = match elt_class v with + Poly -> Unsigned + | x -> x in + elt_of_class_width elclass (elt_width v) + let widen_elt elt = let w = elt_width elt and c = elt_class elt in @@ -488,11 +494,6 @@ let elts_same_io_lane = let elts_same_io = elts_same (fun vtype -> Arity3 (vtype 0, vtype 0, vtype 1, vtype 2)) -let elts_same_io_bits_suffix shape elt = - (fst (elts_same (fun vtype -> Arity3 (vtype 0, vtype 0, vtype 1, vtype 2)) - shape elt), - bits_of_elt elt) - let elts_same_2_lane = elts_same (fun vtype -> Arity3 (vtype 0, vtype 1, vtype 2, vtype 3)) @@ -655,6 +656,17 @@ let extend shape elt = let vtype = type_for_elt shape elt in Arity3 (vtype 0, vtype 1, vtype 2, vtype 3), bits_of_elt elt +(* Table look-up operations. Operand 2 is signed/unsigned for signed/unsigned + integer ops respectively, or unsigned for polynomial ops. *) + +let table mkarity shape elt = + let vtype = type_for_elt shape elt in + let op2 = type_for_elt shape (poly_unsigned_variant elt) 2 in + mkarity vtype op2, bits_of_elt elt + +let table_2 = table (fun vtype op2 -> Arity2 (vtype 0, vtype 1, op2)) +let table_io = table (fun vtype op2 -> Arity3 (vtype 0, vtype 0, vtype 1, op2)) + (* Operations where only bits matter. *) let bits_1 = make_bits_only elts_same_1 @@ -1097,33 +1109,31 @@ let ops = Vtbl 1, [Instruction_name ["vtbl"]; Disassembles_as [Use_operands [| Dreg; VecArray (1, Dreg); Dreg |]]], - Use_operands [| Dreg; Dreg; Dreg |], "vtbl1", bits_2, - [U8; S8; P8]; + Use_operands [| Dreg; Dreg; Dreg |], "vtbl1", table_2, [U8; S8; P8]; Vtbl 2, [Instruction_name ["vtbl"]], - Use_operands [| Dreg; VecArray (2, Dreg); Dreg |], "vtbl2", - bits_2, [U8; S8; P8]; + Use_operands [| Dreg; VecArray (2, Dreg); Dreg |], "vtbl2", table_2, + [U8; S8; P8]; Vtbl 3, [Instruction_name ["vtbl"]], - Use_operands [| Dreg; VecArray (3, Dreg); Dreg |], "vtbl3", - bits_2, [U8; S8; P8]; + Use_operands [| Dreg; VecArray (3, Dreg); Dreg |], "vtbl3", table_2, + [U8; S8; P8]; Vtbl 4, [Instruction_name ["vtbl"]], - Use_operands [| Dreg; VecArray (4, Dreg); Dreg |], "vtbl4", - bits_2, [U8; S8; P8]; + Use_operands [| Dreg; VecArray (4, Dreg); Dreg |], "vtbl4", table_2, + [U8; S8; P8]; (* Extended table lookup. *) Vtbx 1, [Instruction_name ["vtbx"]; Disassembles_as [Use_operands [| Dreg; VecArray (1, Dreg); Dreg |]]], - Use_operands [| Dreg; Dreg; Dreg |], "vtbx1", elts_same_io_bits_suffix, - [U8; S8; P8]; + Use_operands [| Dreg; Dreg; Dreg |], "vtbx1", table_io, [U8; S8; P8]; Vtbx 2, [Instruction_name ["vtbx"]], - Use_operands [| Dreg; VecArray (2, Dreg); Dreg |], "vtbx2", - elts_same_io_bits_suffix, [U8; S8; P8]; + Use_operands [| Dreg; VecArray (2, Dreg); Dreg |], "vtbx2", table_io, + [U8; S8; P8]; Vtbx 3, [Instruction_name ["vtbx"]], - Use_operands [| Dreg; VecArray (3, Dreg); Dreg |], "vtbx3", - elts_same_io_bits_suffix, [U8; S8; P8]; + Use_operands [| Dreg; VecArray (3, Dreg); Dreg |], "vtbx3", table_io, + [U8; S8; P8]; Vtbx 4, [Instruction_name ["vtbx"]], - Use_operands [| Dreg; VecArray (4, Dreg); Dreg |], "vtbx4", - elts_same_io_bits_suffix, [U8; S8; P8]; + Use_operands [| Dreg; VecArray (4, Dreg); Dreg |], "vtbx4", table_io, + [U8; S8; P8]; (* Multiply, lane. (note: these were undocumented at the time of writing). *) diff --git a/gcc/doc/arm-neon-intrinsics.texi b/gcc/doc/arm-neon-intrinsics.texi index 89fe5c045e9..c35662c01e9 100644 --- a/gcc/doc/arm-neon-intrinsics.texi +++ b/gcc/doc/arm-neon-intrinsics.texi @@ -5840,7 +5840,7 @@ @subsubsection Table lookup @itemize @bullet -@item poly8x8_t vtbl1_p8 (poly8x8_t, poly8x8_t) +@item poly8x8_t vtbl1_p8 (poly8x8_t, uint8x8_t) @*@emph{Form of expected instruction(s):} @code{vtbl.8 @var{d0}, @{@var{d0}@}, @var{d0}} @end itemize @@ -5858,7 +5858,7 @@ @itemize @bullet -@item poly8x8_t vtbl2_p8 (poly8x8x2_t, poly8x8_t) +@item poly8x8_t vtbl2_p8 (poly8x8x2_t, uint8x8_t) @*@emph{Form of expected instruction(s):} @code{vtbl.8 @var{d0}, @{@var{d0}, @var{d1}@}, @var{d0}} @end itemize @@ -5876,7 +5876,7 @@ @itemize @bullet -@item poly8x8_t vtbl3_p8 (poly8x8x3_t, poly8x8_t) +@item poly8x8_t vtbl3_p8 (poly8x8x3_t, uint8x8_t) @*@emph{Form of expected instruction(s):} @code{vtbl.8 @var{d0}, @{@var{d0}, @var{d1}, @var{d2}@}, @var{d0}} @end itemize @@ -5894,7 +5894,7 @@ @itemize @bullet -@item poly8x8_t vtbl4_p8 (poly8x8x4_t, poly8x8_t) +@item poly8x8_t vtbl4_p8 (poly8x8x4_t, uint8x8_t) @*@emph{Form of expected instruction(s):} @code{vtbl.8 @var{d0}, @{@var{d0}, @var{d1}, @var{d2}, @var{d3}@}, @var{d0}} @end itemize @@ -5916,7 +5916,7 @@ @subsubsection Extended table lookup @itemize @bullet -@item poly8x8_t vtbx1_p8 (poly8x8_t, poly8x8_t, poly8x8_t) +@item poly8x8_t vtbx1_p8 (poly8x8_t, poly8x8_t, uint8x8_t) @*@emph{Form of expected instruction(s):} @code{vtbx.8 @var{d0}, @{@var{d0}@}, @var{d0}} @end itemize @@ -5934,7 +5934,7 @@ @itemize @bullet -@item poly8x8_t vtbx2_p8 (poly8x8_t, poly8x8x2_t, poly8x8_t) +@item poly8x8_t vtbx2_p8 (poly8x8_t, poly8x8x2_t, uint8x8_t) @*@emph{Form of expected instruction(s):} @code{vtbx.8 @var{d0}, @{@var{d0}, @var{d1}@}, @var{d0}} @end itemize @@ -5952,7 +5952,7 @@ @itemize @bullet -@item poly8x8_t vtbx3_p8 (poly8x8_t, poly8x8x3_t, poly8x8_t) +@item poly8x8_t vtbx3_p8 (poly8x8_t, poly8x8x3_t, uint8x8_t) @*@emph{Form of expected instruction(s):} @code{vtbx.8 @var{d0}, @{@var{d0}, @var{d1}, @var{d2}@}, @var{d0}} @end itemize @@ -5970,7 +5970,7 @@ @itemize @bullet -@item poly8x8_t vtbx4_p8 (poly8x8_t, poly8x8x4_t, poly8x8_t) +@item poly8x8_t vtbx4_p8 (poly8x8_t, poly8x8x4_t, uint8x8_t) @*@emph{Form of expected instruction(s):} @code{vtbx.8 @var{d0}, @{@var{d0}, @var{d1}, @var{d2}, @var{d3}@}, @var{d0}} @end itemize diff --git a/gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c b/gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c index c62a8bdfb53..8e22b29126d 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vtbl1p8.c @@ -11,9 +11,9 @@ void test_vtbl1p8 (void) { poly8x8_t out_poly8x8_t; poly8x8_t arg0_poly8x8_t; - poly8x8_t arg1_poly8x8_t; + uint8x8_t arg1_uint8x8_t; - out_poly8x8_t = vtbl1_p8 (arg0_poly8x8_t, arg1_poly8x8_t); + out_poly8x8_t = vtbl1_p8 (arg0_poly8x8_t, arg1_uint8x8_t); } /* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ diff --git a/gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c b/gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c index 02df3e80361..38b74e10483 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vtbl2p8.c @@ -11,9 +11,9 @@ void test_vtbl2p8 (void) { poly8x8_t out_poly8x8_t; poly8x8x2_t arg0_poly8x8x2_t; - poly8x8_t arg1_poly8x8_t; + uint8x8_t arg1_uint8x8_t; - out_poly8x8_t = vtbl2_p8 (arg0_poly8x8x2_t, arg1_poly8x8_t); + out_poly8x8_t = vtbl2_p8 (arg0_poly8x8x2_t, arg1_uint8x8_t); } /* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ diff --git a/gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c b/gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c index 9d6e261687b..779de43e7f0 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vtbl3p8.c @@ -11,9 +11,9 @@ void test_vtbl3p8 (void) { poly8x8_t out_poly8x8_t; poly8x8x3_t arg0_poly8x8x3_t; - poly8x8_t arg1_poly8x8_t; + uint8x8_t arg1_uint8x8_t; - out_poly8x8_t = vtbl3_p8 (arg0_poly8x8x3_t, arg1_poly8x8_t); + out_poly8x8_t = vtbl3_p8 (arg0_poly8x8x3_t, arg1_uint8x8_t); } /* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ diff --git a/gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c b/gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c index adee3d15673..0b5cf92d51f 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vtbl4p8.c @@ -11,9 +11,9 @@ void test_vtbl4p8 (void) { poly8x8_t out_poly8x8_t; poly8x8x4_t arg0_poly8x8x4_t; - poly8x8_t arg1_poly8x8_t; + uint8x8_t arg1_uint8x8_t; - out_poly8x8_t = vtbl4_p8 (arg0_poly8x8x4_t, arg1_poly8x8_t); + out_poly8x8_t = vtbl4_p8 (arg0_poly8x8x4_t, arg1_uint8x8_t); } /* { dg-final { scan-assembler "vtbl\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ diff --git a/gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c b/gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c index 97b9df6e71c..74937ff45c1 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vtbx1p8.c @@ -12,9 +12,9 @@ void test_vtbx1p8 (void) poly8x8_t out_poly8x8_t; poly8x8_t arg0_poly8x8_t; poly8x8_t arg1_poly8x8_t; - poly8x8_t arg2_poly8x8_t; + uint8x8_t arg2_uint8x8_t; - out_poly8x8_t = vtbx1_p8 (arg0_poly8x8_t, arg1_poly8x8_t, arg2_poly8x8_t); + out_poly8x8_t = vtbx1_p8 (arg0_poly8x8_t, arg1_poly8x8_t, arg2_uint8x8_t); } /* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, ((\\\{\[dD\]\[0-9\]+\\\})|(\[dD\]\[0-9\]+)), \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ diff --git a/gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c b/gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c index f81b49bd846..099cbd1c0b0 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vtbx2p8.c @@ -12,9 +12,9 @@ void test_vtbx2p8 (void) poly8x8_t out_poly8x8_t; poly8x8_t arg0_poly8x8_t; poly8x8x2_t arg1_poly8x8x2_t; - poly8x8_t arg2_poly8x8_t; + uint8x8_t arg2_uint8x8_t; - out_poly8x8_t = vtbx2_p8 (arg0_poly8x8_t, arg1_poly8x8x2_t, arg2_poly8x8_t); + out_poly8x8_t = vtbx2_p8 (arg0_poly8x8_t, arg1_poly8x8x2_t, arg2_uint8x8_t); } /* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ diff --git a/gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c b/gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c index ab2aa2e9505..16e0b1422ab 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vtbx3p8.c @@ -12,9 +12,9 @@ void test_vtbx3p8 (void) poly8x8_t out_poly8x8_t; poly8x8_t arg0_poly8x8_t; poly8x8x3_t arg1_poly8x8x3_t; - poly8x8_t arg2_poly8x8_t; + uint8x8_t arg2_uint8x8_t; - out_poly8x8_t = vtbx3_p8 (arg0_poly8x8_t, arg1_poly8x8x3_t, arg2_poly8x8_t); + out_poly8x8_t = vtbx3_p8 (arg0_poly8x8_t, arg1_poly8x8x3_t, arg2_uint8x8_t); } /* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ diff --git a/gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c b/gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c index a19a1dbc123..9447270d08b 100644 --- a/gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c +++ b/gcc/testsuite/gcc.target/arm/neon/vtbx4p8.c @@ -12,9 +12,9 @@ void test_vtbx4p8 (void) poly8x8_t out_poly8x8_t; poly8x8_t arg0_poly8x8_t; poly8x8x4_t arg1_poly8x8x4_t; - poly8x8_t arg2_poly8x8_t; + uint8x8_t arg2_uint8x8_t; - out_poly8x8_t = vtbx4_p8 (arg0_poly8x8_t, arg1_poly8x8x4_t, arg2_poly8x8_t); + out_poly8x8_t = vtbx4_p8 (arg0_poly8x8_t, arg1_poly8x8x4_t, arg2_uint8x8_t); } /* { dg-final { scan-assembler "vtbx\.8\[ \]+\[dD\]\[0-9\]+, \\\{((\[dD\]\[0-9\]+-\[dD\]\[0-9\]+)|(\[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+, \[dD\]\[0-9\]+))\\\}, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ |