On Fri, Jul 24, 2015 at 09:38:34AM +0100, Kyrill Tkachov wrote: > Thanks, here's an updated version. > > 2015-07-24 Kyrylo Tkachov <kyrylo.tkac...@arm.com> > > * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p): > Initialize simd builtins if TARGET_SIMD. > * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): > Make sure that the builtins are initialized only once no matter how > many times the function is called. > (aarch64_init_builtins): Unconditionally initialize crc builtins. > (aarch64_relayout_simd_param): New function. > (aarch64_simd_expand_args): Use above during argument expansion. > * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize > simd builtins if TARGET_SIMD. > * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New > prototype. > (aarch64_relayout_simd_types): Likewise. > > 2015-07-24 Kyrylo Tkachov <kyrylo.tkac...@arm.com> > > * gcc.target/aarch64/target_attr_crypto_ice_1.c: New test. >
OK with a minor fix. > diff --git a/gcc/config/aarch64/aarch64-protos.h > b/gcc/config/aarch64/aarch64-protos.h > index 6844c90..99fd80e 100644 > --- a/gcc/config/aarch64/aarch64-protos.h > +++ b/gcc/config/aarch64/aarch64-protos.h > @@ -255,6 +255,7 @@ bool aarch64_float_const_zero_rtx_p (rtx); > bool aarch64_function_arg_regno_p (unsigned); > bool aarch64_gen_movmemqi (rtx *); > bool aarch64_gimple_fold_builtin (gimple_stmt_iterator *); > +void aarch64_init_simd_builtins (void); > bool aarch64_is_extend_from_extract (machine_mode, rtx, rtx); > bool aarch64_is_long_call_p (rtx); > bool aarch64_label_mentioned_p (rtx); These should be first ordered by return type, then alphabetical order. > @@ -325,6 +326,7 @@ void aarch64_print_operand (FILE *, rtx, char); > void aarch64_print_operand_address (FILE *, rtx); > void aarch64_emit_call_insn (rtx); > void aarch64_register_pragmas (void); > +void aarch64_relayout_simd_types (void); > void aarch64_reset_previous_fndecl (void); > > /* Initialize builtins for SIMD intrinsics. */ Thanks, James