aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMatthew Gretton-Dann <matthew.gretton-dann@arm.com>2012-03-13 10:53:57 +0000
committerMatthew Gretton-Dann <mgretton@gcc.gnu.org>2012-03-13 10:53:57 +0000
commita0a6e3f70ada6957540ae9c57c255338cebe54d3 (patch)
tree42462955e0d31178ecd401ffc15b2dedfc518665 /gcc
parent9ec960239680726720385bcb82725d0c14204546 (diff)
downloadgcc-a0a6e3f70ada6957540ae9c57c255338cebe54d3.zip
gcc-a0a6e3f70ada6957540ae9c57c255338cebe54d3.tar.gz
gcc-a0a6e3f70ada6957540ae9c57c255338cebe54d3.tar.bz2
neon.ml (ops): Fixup expected instructions for unsigned vector compares.
* gcc/config/arm/neon.ml (ops): Fixup expected instructions for unsigned vector compares. From-SVN: r185328
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/neon.ml22
2 files changed, 21 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dd02f18..c8de4f9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-13 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/neon.ml (ops): Fixup expected instructions for
+ unsigned vector compares.
+
2012-03-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
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,