Hi Kyrill,

Your patch fixes most of the problems I noticed, however, it makes the
compiler crash on vld1Q_dupp64 when the target is big-endian:
--with-target= armeb-none-linux-gnueabihf
--with-cpu=cortex-a9
--with-fpu=neon-fp16


/aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp64.c:
In function 'test_vld1Q_dupp64':
/aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp64.c:16:1:
error: unrecognizable insn:
(insn 30 29 16 (set (subreg:DI (reg:V2DI 48 d16 [orig:110 D.14607 ] [110]) 0)
        (subreg:DI (reg:V2DI 48 d16 [orig:110 D.14607 ] [110]) 8))
/aci-gcc-fsf/builds/gcc-fsf-trunk/obj-armeb-none-linux-gnueabihf/gcc3/gcc/include/arm_neon.h:8624
-1
     (nil))
/aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/testsuite/gcc.target/arm/neon/vld1Q_dupp64.c:16:1:
internal compiler error: in extract_insn, at recog.c:2168
0xa9e560 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/rtl-error.c:109
0xa9e59f _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/rtl-error.c:117
0xa58fef extract_insn(rtx_def*)
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/recog.c:2168
0xa592ec extract_insn_cached(rtx_def*)
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/recog.c:2071
0x7e5309 cleanup_subreg_operands(rtx_def*)
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/final.c:3074
0xa5845f split_insn
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/recog.c:2886
0xa585b7 split_all_insns_noflow()
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/recog.c:2991
0xe31941 arm_reorg
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/config/arm/arm.c:16962
0xa9e240 rest_of_handle_machine_reorg
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/reorg.c:3933
0xa9e26e execute
        /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/reorg.c:3963


Christophe.


On 10 January 2014 12:31, Richard Earnshaw <rearn...@arm.com> wrote:
> On 09/01/14 17:02, Kyrill Tkachov wrote:
>> Hi all,
>>
>> When adding the testsuite options for the crypto tests we need to make sure 
>> that
>> don't end up adding -mfloat-abi=softfp to a hard-float target like
>> arm-none-linux-gnueabihf. This patch adds that code to figure out which
>> -mfpu/-mfloat-abi combination to use in a similar approach to the NEON tests.
>>
>> This patch addresses the same failures that Christophe mentioned in
>> http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00375.html
>> but with this patch we can get those tests to PASS on 
>> arm-none-linux-gnueabihf
>> instead of being just UNSUPPORTED.
>>
>> Tested arm-none-linux-gnueabihf and arm-none-eabi.
>>
>> Ok for trunk?
>>
>> Thanks,
>> Kyrill
>>
>>
>> 2014-01-09  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>
>>
>>      * lib/target-supports.exp
>>      (check_effective_target_arm_crypto_ok_nocache): New.
>>      (check_effective_target_arm_crypto_ok): Use above procedure.
>>      (add_options_for_arm_crypto): Use et_arm_crypto_flags.
>>
>>
>
> OK.
>
> R.
>
>

Reply via email to