Conversation
|
r? @jackh726 rustbot has assigned @jackh726. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
Makes sense, thanks for fixing this in the target spec! |
|
I do wonder why this was added in #102293 with an "extabi" value here... Cc @ecnelises in case you still remember. |
This comment has been minimized.
This comment has been minimized.
|
Without vec-extabi, v20-v31 cannot be used, so in most projects Clang enables this option. To align with it, we also enabled it by default. Maybe the IBM folks can explain it in more detail... |
You didn't, though? You set Some inline asm tests are failing now though. I'm a bit surprised b y that -- whether functions can use registers internally and whether the ABI uses them are usually separate questions, aren't they? |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
Closing in favor of #153876 -- clearly there's more going on here than I understand, so I shouldn't be changing the code. I hope someone I pinged in that issue will be able to help. :) |
powerpc64-ibm-aix: fix cfg(target_abi) value Our powerpc64-ibm-aix target currently sets `cfg_abi` to "vec-extabi", which means that programs compiled for this target *think* they use that ABI. Even our inline asm logic trusts this field. But that's a lie, we're actually using the default ABI since we are never setting `EnableAIXExtendedAltivecABI` on the LLVM side. We should fix that discrepancy. Between changing how we generate the code, and changing the label we put into `cfg_abi`, the latter is the less risky change. So let's do that. This has been tried before in rust-lang#153830. We then decided to wait a bit while the target maintainers investigate whether they want to change the ABI or not. I think we have waited long enough. The last comment from them that I found is [this one](rust-lang#153876 (comment)) which says "I'd conclude the extend vector ABI should be disabled for now"; there have been further questions but no further communication. We can always still change the ABI in the future, but for now let's fix the obvious bug where the ABI we report in `cfg_abi` does not match the actual ABI we are compiling for. Cc @Gelbpunkt @daltenty @gilamn5tr @amy-kwan @taiki-e
powerpc64-ibm-aix: fix cfg(target_abi) value Our powerpc64-ibm-aix target currently sets `cfg_abi` to "vec-extabi", which means that programs compiled for this target *think* they use that ABI. Even our inline asm logic trusts this field. But that's a lie, we're actually using the default ABI since we are never setting `EnableAIXExtendedAltivecABI` on the LLVM side. We should fix that discrepancy. Between changing how we generate the code, and changing the label we put into `cfg_abi`, the latter is the less risky change. So let's do that. This has been tried before in rust-lang#153830. We then decided to wait a bit while the target maintainers investigate whether they want to change the ABI or not. I think we have waited long enough. The last comment from them that I found is [this one](rust-lang#153876 (comment)) which says "I'd conclude the extend vector ABI should be disabled for now"; there have been further questions but no further communication. We can always still change the ABI in the future, but for now let's fix the obvious bug where the ABI we report in `cfg_abi` does not match the actual ABI we are compiling for. Cc @Gelbpunkt @daltenty @gilamn5tr @amy-kwan @taiki-e
Rollup merge of #162325 - RalfJung:aix-abi, r=beetrees powerpc64-ibm-aix: fix cfg(target_abi) value Our powerpc64-ibm-aix target currently sets `cfg_abi` to "vec-extabi", which means that programs compiled for this target *think* they use that ABI. Even our inline asm logic trusts this field. But that's a lie, we're actually using the default ABI since we are never setting `EnableAIXExtendedAltivecABI` on the LLVM side. We should fix that discrepancy. Between changing how we generate the code, and changing the label we put into `cfg_abi`, the latter is the less risky change. So let's do that. This has been tried before in #153830. We then decided to wait a bit while the target maintainers investigate whether they want to change the ABI or not. I think we have waited long enough. The last comment from them that I found is [this one](#153876 (comment)) which says "I'd conclude the extend vector ABI should be disabled for now"; there have been further questions but no further communication. We can always still change the ABI in the future, but for now let's fix the obvious bug where the ABI we report in `cfg_abi` does not match the actual ABI we are compiling for. Cc @Gelbpunkt @daltenty @gilamn5tr @amy-kwan @taiki-e
We don't actually use the ExtAbi currently, see #153784. So fix the value of cfg(target_abi) to match reality.
Cc @Gelbpunkt @daltenty @gilamn5tr @amy-kwan