This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Here is a cleaned-up patch without the hook. Mostly it works in a way we discussed. So I think it is a right time to do something about vcond patterns, which would allow me to get rid of conversions that I need to put all over the code. Also at the moment the patch breaks lto frontend with a simple example: #define vector(elcount, type) \ __attribute__((vector_size((elcount)*sizeof(type)))) type int main (int argc, char *argv[]) { vector (4, float) f0; vector (4, float) f1; f0 = f1 != f0 ? (vector (4, float)){-1,-1,-1,-1} : (vector (4, float)){0,0,0,0}; return (int)f0[argc]; } test-lto.c:8:14: internal compiler error: in convert, at lto/lto-lang.c:1244 I looked into the file, the conversion function is defined as gcc_unreachable (). I am not very familiar with lto, so I don't really know what is the right way to treat the conversions. And I seriously need help with backend patterns. Thanks, Artem.
Attachment:
vector-compare-vcond-6.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |