Bug 744 - llvm expects predicate vectors <N x i1> to have same endianness as byte-endianness
Summary: llvm expects predicate vectors <N x i1> to have same endianness as byte-endia...
Status: CONFIRMED
Alias: None
Product: Libre-SOC's first SoC
Classification: Unclassified
Component: Specification (show other bugs)
Version: unspecified
Hardware: Other Linux
: --- enhancement
Assignee: Luke Kenneth Casson Leighton
URL:
Depends on:
Blocks:
 
Reported: 2021-11-10 01:45 GMT by Jacob Lifshay
Modified: 2021-11-10 01:49 GMT (History)
1 user (show)

See Also:
NLnet milestone: ---
total budget (EUR) for completion of task and all subtasks: 0
budget (EUR) for this task, excluding subtasks' budget: 0
parent task for budget allocation:
child tasks for budget allocation:
The table of payments (in EUR) for this task; TOML format:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jacob Lifshay 2021-11-10 01:45:43 GMT
llvm expects bit endianness to be identical to byte endianness:
https://github.com/llvm/llvm-project/blob/18334a1c1afe1b8a83c2a6108413bc48d80107df/llvm/lib/Analysis/ConstantFolding.cpp#L218

this will cause problems with big-endian and SV declaring integer predicates to be little-endian (lsb0)
Comment 1 Jacob Lifshay 2021-11-10 01:49:10 GMT
it may be easier for us to just switch predicate endian-ness on big-endian mode rather than add support to llvm for different bit/byte endianness which would require going through a lot of llvm's code.