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] |
Hello! Alpha assembler requires that matching "lda $29,0($29) !gpdisp!NNN" always follow "ldah $29,0($26) !gpdisp!NNN". However, when the compiler inserts trap insn, it (correctly) figures out that $29 is unused, and removes "lda" from insn stream. Since ldah is defined as unspec_volatile, it remains present. The solution is to make trap insn dependent on register $29. 2016-05-18 Uros Bizjak <ubizjak@gmail.com> PR target/71145 * config/alpha/alpha.md (trap): Add (use (reg:DI 29)). (*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS. Patch was bootstrapped and regression tested on alpha-linux-gnu. Commited to mainline and all release branches. Uros.
Attachment:
a.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |