[PATCH v2 0/5] RISC-V big endian support
Marcus Comstedt
marcus@mc.pp.se
Wed Feb 24 19:23:38 GMT 2021
Hi again.
I've found the reason for the shift-and test fails.
riscv.md does a match on
(subreg:QI (and:SI ...) 0)
Unfortunately, due to the way "subreg" is defined, this needs to be
(subreg:QI (and:SI ...) 3)
on big endian. I can fix the failures by duplicating the rule and
making the one with "0" check !BYTES_BIG_ENDIAN and the one with "3"
check BYTES_BIG_ENDIAN. But that's a bit heavy handed of course.
I'll try to come up with a solution using subreg_lowpart_p instead of
hardcoding "0" or "3".
// Marcus
More information about the Gcc-patches
mailing list