On Fri, 2019-07-19 at 19:24 +0100, Richard Sandiford wrote: > > You can probably also remove: > > tree new_type = build_distinct_type_copy (TREE_TYPE (node->decl)); > ... > TREE_TYPE (node->decl) = new_type; > > in simd_clone_adjust_argument_types. > > I'm happy doing it this way or doing the copy in the AArch64 hook. > It's really Jakub's call. You are right, that is no longer needed with the current patch. I removed it and retested with no regressions. Jakub, do you have any preference? I have attached a new version of the patch to this email. > I don't think the tests need: > > /* { dg-require-effective-target aarch64_variant_pcs } */ > > since they're only dg-do compile. Leaving the line out would get more > coverage for people using older binutils. > > The tests are OK with that change, thanks. OK, I made that change to the tests. Latest version of the patch: 2019-07-22 Steve Ellcey * omp-simd-clone.c (simd_clone_adjust_return_type): Remove call to build_distinct_type_copy. (simd_clone_adjust_argument_types): Ditto. (simd_clone_adjust): Call build_distinct_type_copy here. (expand_simd_clones): Ditto. 2019-07-22 Steve Ellcey * gcc.target/aarch64/simd_pcs_attribute.c: New test. * gcc.target/aarch64/simd_pcs_attribute-2.c: Ditto. * gcc.target/aarch64/simd_pcs_attribute-3.c: Ditto.