From a0a6e3f70ada6957540ae9c57c255338cebe54d3 Mon Sep 17 00:00:00 2001 From: Matthew Gretton-Dann Date: Tue, 13 Mar 2012 10:53:57 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/neon.ml | 22 ++++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dd02f1864b8..c8de4f91245 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-03-13 Matthew Gretton-Dann + + * config/arm/neon.ml (ops): Fixup expected instructions for + unsigned vector compares. + 2012-03-13 Uros Bizjak * 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 363e55c713c..85eb5ec42f2 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,