All,
The commit to fix PR51534 did not update the testsuite (as no changes were
expected there).
Unfortunately, this means that I didn't notice that the Neon testsuite generator
is broken. The attached patch fixes the generator.
Checked by re-running the Neon testsuite and arm_neon.h generators and ensuring
no
changes in the generated testsuite/header.
OK for trunk?
OK for backporting to GCC 4.7?
Thanks,
Matt
gcc/ChangeLog:
2012-03-12 Matthew Gretton-Dann <matthew.gretton-d...@arm.com>
* config/arm/neon.ml (ops): Fixup expected instructions for
unsigned vector compares.
--
Matthew Gretton-Dann
Principal Engineer, PD Software, ARM Ltd.
diff --git a/gcc/config/arm/neon.ml b/gcc/config/arm/neon.ml
index 363e55c..85eb5ec 100644
--- a/gcc/config/arm/neon.ml
+++ b/gcc/config/arm/neon.ml
@@ -780,14 +780,19 @@ let ops =
(* Comparison, greater-than or equal. *)
Vcge, [], All (3, Dreg), "vcge", cmp_sign_matters, F32 :: s_8_32;
- Vcge, [Builtin_name "vcgeu"], All (3, Dreg), "vcge", cmp_sign_matters,
u_8_32;
+ Vcge, [Instruction_name ["vcge"]; Builtin_name "vcgeu"],
+ All (3, Dreg), "vcge", cmp_sign_matters,
+ u_8_32;
Vcge, [], All (3, Qreg), "vcgeQ", cmp_sign_matters, F32 :: s_8_32;
- Vcge, [Builtin_name "vcgeu"], All (3, Qreg), "vcgeQ", cmp_sign_matters,
u_8_32;
+ Vcge, [Instruction_name ["vcge"]; Builtin_name "vcgeu"],
+ All (3, Qreg), "vcgeQ", cmp_sign_matters,
+ u_8_32;
(* Comparison, less-than or equal. *)
Vcle, [Flipped "vcge"], All (3, Dreg), "vcle", cmp_sign_matters,
F32 :: s_8_32;
- Vcle, [Flipped "vcgeu"], All (3, Dreg), "vcle", cmp_sign_matters,
+ Vcle, [Instruction_name ["vcge"]; Flipped "vcgeu"],
+ All (3, Dreg), "vcle", cmp_sign_matters,
u_8_32;
Vcle, [Instruction_name ["vcge"]; Flipped "vcgeQ"],
All (3, Qreg), "vcleQ", cmp_sign_matters,
@@ -798,14 +803,19 @@ let ops =
(* Comparison, greater-than. *)
Vcgt, [], All (3, Dreg), "vcgt", cmp_sign_matters, F32 :: s_8_32;
- Vcgt, [Builtin_name "vcgtu"], All (3, Dreg), "vcgt", cmp_sign_matters,
u_8_32;
+ Vcgt, [Instruction_name ["vcgt"]; Builtin_name "vcgtu"],
+ All (3, Dreg), "vcgt", cmp_sign_matters,
+ u_8_32;
Vcgt, [], All (3, Qreg), "vcgtQ", cmp_sign_matters, F32 :: s_8_32;
- Vcgt, [Builtin_name "vcgtu"], All (3, Qreg), "vcgtQ", cmp_sign_matters,
u_8_32;
+ Vcgt, [Instruction_name ["vcgt"]; Builtin_name "vcgtu"],
+ All (3, Qreg), "vcgtQ", cmp_sign_matters,
+ u_8_32;
(* Comparison, less-than. *)
Vclt, [Flipped "vcgt"], All (3, Dreg), "vclt", cmp_sign_matters,
F32 :: s_8_32;
- Vclt, [Flipped "vcgtu"], All (3, Dreg), "vclt", cmp_sign_matters,
+ Vclt, [Instruction_name ["vcgt"]; Flipped "vcgtu"],
+ All (3, Dreg), "vclt", cmp_sign_matters,
u_8_32;
Vclt, [Instruction_name ["vcgt"]; Flipped "vcgtQ"],
All (3, Qreg), "vcltQ", cmp_sign_matters,