[Bug target/87014] New: [x32] __builtin_eh_return should use 64-bit mov to set return address

2018-08-19 Thread theonetruecamper at gmx dot de
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: theonetruecamper at gmx dot de Target Milestone: --- long offset; void* ptr; void f(void) { __builtin_eh_return(offset,ptr); } with gcc -mx32 produces (gcc (Gentoo

[Bug target/87014] [x32] __builtin_eh_return should use 64-bit mov to set return address

2018-08-19 Thread theonetruecamper at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87014 --- Comment #1 from camper --- Created attachment 44557 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44557&action=edit [x32] use 64-bit mov to set return address in eh_return compiles to: movlhandler(%rip), %eax movl

[Bug target/87014] [x32] __builtin_eh_return should use 64-bit mov to set return address

2018-08-20 Thread theonetruecamper at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87014 --- Comment #5 from camper --- test case (-O0): using ll = long long; void fillstack() { ll foo[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }; } void f(ll=-1,ll=-1,ll=-1,ll=-1,ll=-1,ll=-1,ll arg7_on_st