Allow vscr to be marked as a clobber in PowerPC inline asm#148663
Allow vscr to be marked as a clobber in PowerPC inline asm#148663pmur wants to merge 1 commit intorust-lang:mainfrom
Conversation
ELFv2 defines this as a "limited-access" register. This means the VSCR[SAT] bit is clobbered by a function call.
|
Some changes occurred in compiler/rustc_codegen_gcc |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
I don't think this is the correct approach, and I think this should be handled via Some bits are treated as global state:
Some bits are treated as volatile state:
At the very least we would need separate clobbers for the different types of flags, but I feel that here it's better to stay consistent with other architectures and put all of these under |
|
Right, there's a lot going on in those registers. My understanding is clobbering would only effect those status and sticky bits tracked by the compiler. How about the changes to the usage of |
I don't think gcc or llvm do anything with vscr, but they do allow it to be marked as a clobber. This prevents needing to enumerate it as a preserved flag if an update does make use of it.
ELFv2 defines this as a "limited-access" register. This means the VSCR[SAT] bit is clobbered by a function call.
r? @Amanieu