[Bug c++/57362] [4.8/4.9 Regression] unsupported __attribute__((target())) values appear to cause loop and/or pathological behavior
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed May 22 08:17:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57362
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Known to work| |4.7.3
Version|unknown |4.8.1
Keywords| |ice-on-invalid-code
Last reconfirmed| |2013-05-22
CC| |tmsriram at google dot com
Ever confirmed|0 |1
Summary|unsupported |[4.8/4.9 Regression]
|__attribute__((target())) |unsupported
|values appear to cause loop |__attribute__((target()))
|and/or pathological |values appear to cause loop
|behavior |and/or pathological
| |behavior
Target Milestone|--- |4.8.1
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Works fine with the C compiler, for the C++ compiler we ICE:
... lots of errors ...
t.c:18:5: error: No dispatcher found for align-stringops
int foo(void) { return 1; }
^
t.c:187:20: internal compiler error: Segmentation fault
result = foo();
^
0xc647e5 crash_signal
/space/rguenther/src/svn/gcc-4_8-branch/gcc/toplev.c:332
0x53f4cb contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
/space/rguenther/src/svn/gcc-4_8-branch/gcc/tree.h:3797
0x9b6742 build_fold_addr_expr_loc(unsigned int, tree_node*)
/space/rguenther/src/svn/gcc-4_8-branch/gcc/fold-const.c:7693
0xf498fa add_condition_to_bb
/space/rguenther/src/svn/gcc-4_8-branch/gcc/config/i386/i386.c:28536
0xf4a6d0 dispatch_function_versions
/space/rguenther/src/svn/gcc-4_8-branch/gcc/config/i386/i386.c:28951
0xf4c178 ix86_generate_version_dispatcher_body
/space/rguenther/src/svn/gcc-4_8-branch/gcc/config/i386/i386.c:29517
you cannot query for acceptable values by re-annotating the same decl.
GCC 4.7 happily says
...
t.c:176:5: error: redefinition of 'int foo()'
t.c:2:5: error: 'int foo()' previously defined here
t.c: At global scope:
t.c:178:13: error: attribute(target("avx256-split-unaligned-store")) is unknown
t.c: In function 'int foo()':
t.c:178:5: error: redefinition of 'int foo()'
t.c:2:5: error: 'int foo()' previously defined here
t.c: At global scope:
t.c:180:13: error: attribute(target("rtm")) is unknown
t.c: In function 'int foo()':
t.c:180:5: error: redefinition of 'int foo()'
t.c:2:5: error: 'int foo()' previously defined here
and does not ICE.
Google folks - please have a look.
More information about the Gcc-bugs
mailing list