-
Notifications
You must be signed in to change notification settings - Fork 13.4k
dont-shuffle-bswaps codegen test broken on none-x86_64/arm64 archs #142068
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Please update this part in the issue. |
done (also added HEAD, after verifying it reproduces with plain upstream sources easily. note that you need a working cross setup or run it on one of the affected targets natively. |
This test was not introduced by that PR. |
@Fabian-Gruenbichler Do both revisions fail, or only the OPT3 one? |
...damn, that codegen sucks ass? |
That tests seems to assume that every 64-bit target has a cheap <8 x i16> bswap, which is obviously not true. E.g. this is how mips64el looks like: https://llvm.godbolt.org/z/9K57M5z8o This test should be limited to known-good arches. |
Yes, but Power ISA has a vector byte-reverse. Is our powerpc64le target too low an architectural level for that? |
ppc64le implies Power 8: https://github.com/llvm/llvm-project/blob/eb6577d54f53715e8917cf8a91eb68c8b47d489f/llvm/lib/Target/PowerPC/PPC.td#L713 Which should imply VSX is available and thus |
...well, I'll confess that's not what I expected the assembly to be on Power 8 of test: # @test
.Lfunc_gep0:
addis 2, 12, .TOC.-.Lfunc_gep0@ha
addi 2, 2, .TOC.-.Lfunc_gep0@l
lxvd2x 0, 0, 3
addis 4, 2, .LCPI0_0@toc@ha
addi 4, 4, .LCPI0_0@toc@l
xxswapd 34, 0
lxvd2x 0, 0, 4
xxswapd 35, 0
vperm 2, 2, 2, 3
xxswapd 0, 34
stxvd2x 0, 0, 3
blr @jieyouxu is there some form of |
Unfortunately not (yet). I believe what you're looking for is #140575. |
@workingjubilee xxbrh is gated behind a |
oh, huh. @programmerjake is it? |
Hm, after some searching, I think it is. Tragic! Not obvious from the ISA manual, irritatingly. |
if you look in the PowerISA v3.1C pdf on page 1373 (1409), you can see that it was first added in v3.0, which corresponds to POWER9. |
sorry, yes, I misread the diffstat (only additions) as new file while looking up the reference
only the OPT3 one AFAICT
it was originally limited to |
Uh oh!
There was an error while loading. Please reload this page.
Summary
the test case introduced by #136761 is broken on at least
loong64
,ppc64el
,mips64el
andppc64
.Command used
./x test tests/codegen/dont-shuffle-bswaps.rs --target powerpc64le-unknown-linux-gnu
Expected behaviour
the test should pass, or be ignored
Actual behaviour
the test fails because the FileCheck annotations don't match (because of missing vectorisation?)
Operating system
Debian experimental
HEAD
425e142686242c7e73f5e32c79071ae266f0f355
Additional context
Test output
The text was updated successfully, but these errors were encountered: