Open arnold518 opened 5 months ago
위 llvm ir을 assembly로 변환하였을 때, backend 에서 Tried to resolve non-splat vector! 에러가 발생합니다.
Vector constant는 기본적으로 지원되지 않습니다. 정확히는, splat vector (모든 element가 같은 vector) 는 백엔드 구현상의 이유로 제한적으로 지원하지만, 이외의 vector를 만들어내려면 insertelement 등을 이용하여 만드셔야 합니다.
vector의 경우 <4 i64>, <8 i32> 두 가지 타입만 존재한다고 생각하여도 되나요?
네, 맞습니다. 이외의 타입은 백엔드에서 크래시가 발생합니다.
위 llvm ir을 assembly로 변환하였을 때, backend 에서
Tried to resolve non-splat vector!
에러가 발생합니다. 이에, vector constant는 scalar constant와 다르게 처리해야 하는지 궁금합니다. 만약 다르다면, phi 등의 다른 연산들에 대해서 scalar과 vector의 처리가 달라야 하는 경우가 있는지 또한 알고 싶습니다.마지막으로, vector의 경우 <4 i64>, <8 i32> 두 가지 타입만 존재한다고 생각하여도 되나요?