On 18/12/13 12:39, James Greenhalgh wrote: > > Hi, > > Recently it was pointed out that GCC 4.8 can generate instruction > aliases which are no longer mentioned in the AArch64 portion of the > ARMv8 architecture reference manual. > > It turns out that a series of patches to GCC 4.9 actually > corrected this behaviour, though at the time the instructions > were still around, so there was no need to backport the patch. > > Now that there is a need I have backported parts of the following > three patches: > > [AArch64] Improve description of <F>CM instructions in RTL > > http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01789.html > Committed as r198490. > > {Partial} [AArch64] Remap neon vcmp functions to C/TREE > > http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01791.html > Committed as r198491 > > [AArch64 Testsuite] Fix fallout from FCM changes. > > http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01793.html > And committed as revision 198493. > > I can split these out if anyone desires, but they make more sense > as this coherent blob. > > Tested on aarch64-none-elf. > > OK for 4.8-branch? > > Thanks, > James > > --- > gcc/ > > 2013-12-18 James Greenhalgh <james.greenha...@arm.com> > > Backport from Mainline. > 2013-05-01 James Greenhalgh <james.greenha...@arm.com> > > * config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to... > (cmgeu): ...This. > (cmhi): Rename to... > (cmgtu): ...This. > * config/aarch64/aarch64-simd.md > (simd_mode): Add SF. > (aarch64_vcond_internal): Use new names for unsigned comparison insns. > (aarch64_cm<optab><mode>): Rewrite to not use UNSPECs. > * config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to... > (cstore<mode>_neg): ...This. > * config/aarch64/iterators.md > (VALLF): new. > (unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>. > (COMPARISONS): New. > (UCOMPARISONS): Likewise. > (optab): Add missing comparisons. > (n_optab): New. > (cmp_1): Likewise. > (cmp_2): Likewise. > (CMP): Likewise. > (cmp): Remove. > (VCMP_S): Likewise. > (VCMP_U): Likewise. > (V_cmp_result): Add DF, SF modes. > (v_cmp_result): Likewise. > (v): Likewise. > (vmtype): Likewise. > * config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New. > > Partial Backport from mainline. > 2013-05-01 James Greenhalgh <james.greenha...@arm.com> > > * config/aarch64/arm_neon.h > (vc<eq, lt, le, gt, ge, tst><qsd>_<u><8,16,32,64>): Remap > to builtins or C as appropriate. > > gcc/testsuite/ > > 2013-12-18 James Greenhalgh <james.greenha...@arm.com> > > Backport from Mainline > 2013-05-01 James Greenhalgh <james.greenha...@arm.com> > > * gcc.target/aarch64/scalar_intrinsics.c (force_simd): New. > (test_vceqd_s64): Force arguments to SIMD registers. > (test_vceqzd_s64): Likewise. > (test_vcged_s64): Likewise. > (test_vcled_s64): Likewise. > (test_vcgezd_s64): Likewise. > (test_vcged_u64): Likewise. > (test_vcgtd_s64): Likewise. > (test_vcltd_s64): Likewise. > (test_vcgtzd_s64): Likewise. > (test_vcgtd_u64): Likewise. > (test_vclezd_s64): Likewise. > (test_vcltzd_s64): Likewise. > (test_vtst_s64): Likewise. > (test_vtst_u64): Likewise. >
OK. R.