> -----Original Message----- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Aldy Hernandez > Sent: Tuesday, December 10, 2013 1:03 PM > To: Iyer, Balaji V > Cc: 'Jakub Jelinek'; 'gcc-patches@gcc.gnu.org' > Subject: Re: [PING]: [GOMP4] [PATCH] SIMD-Enabled Functions (formerly > Elemental functions) for C > > > >> But aren't both OpenMP and Cilk Plus simd clones marked as "omp > >> declare simd"? In which case you shouldn't have to do anything? > >> Are the Cilk Plus clones not being marked as "omp declare simd" in > >> the front-ends? > >> > > > > ....Didn't you mention in this thread > > (http://gcc.gnu.org/ml/gcc-patches/2013-11/msg03506.html) that Cilk > > Plus SIMD-enabled functions must be marked as "cilk plus elementals" > > (as it wsa called then)? Did I misunderstand you? > > Both OpenMP and Cilk Plus clones should be marked with "omp declare > simd". But Cilk Plus should _also_ be marked with "cilk plus elementals" (or > "cilk simd function" now). In which case the aforementioned function > doesn't require any changes because Cilk Plus clones will be seen as they are > marked with "omp declare simd". > > So... > > OpenMP declare simd gets tagged as: > "omp declare simd" > Cilk Plus vector functions gets tagged as: > "omp declare simd" > "cilk simd function" >
Ok, so you want the same clauses included in both omp declare simd and cilk simd function tree lists? For example in the c-parser.c, I have something like this: if (is_cilkplus_cilk_simd_fn) c = build_tree_list (get_identifier ("cilk simd function"), c); else c = build_tree_list (get_identifier ("omp declare simd"), c); TREE_CHAIN (c) = DECL_ATTRIBUTES (fndecl); DECL_ATTRIBUTES (fndecl) = c; You want to change it something like this? If (is_cilkplus_cilk_simd_fn) { tree c_cilk = build_tree_list (get_identifier ("cilk simd function"), c); TREE_CHAIN (c_cilk) = DECL_ATTRIBUTES (fndecl); DECL_ATTRIBUTES (fndecl) = c_cilk; } c = build_tree_list (get_identififer ("omp declare simd"), c); TREE_CHAIN (c) =DECL_ATTRIBUTES (fndecl); DECL_ATTRIBUTES (fndecl) = c;