Fix LLVM 18 ABI for 128-bit integers (because LLVM broke things)

This commit is contained in:
gingerBill
2024-09-30 11:45:24 +01:00
parent 225ffdec36
commit b173fa1b9a
+5
View File
@@ -531,6 +531,7 @@ namespace lbAbiAmd64SysV {
RegClass_SSEInt16, RegClass_SSEInt16,
RegClass_SSEInt32, RegClass_SSEInt32,
RegClass_SSEInt64, RegClass_SSEInt64,
RegClass_SSEInt128,
RegClass_SSEUp, RegClass_SSEUp,
RegClass_X87, RegClass_X87,
RegClass_X87Up, RegClass_X87Up,
@@ -616,6 +617,10 @@ namespace lbAbiAmd64SysV {
} }
switch (kind) { switch (kind) {
case LLVMIntegerTypeKind: case LLVMIntegerTypeKind:
if (LLVM_VERSION_MAJOR >= 18 && sz >= 16) {
return false;
}
return true;
case LLVMHalfTypeKind: case LLVMHalfTypeKind:
case LLVMFloatTypeKind: case LLVMFloatTypeKind:
case LLVMDoubleTypeKind: case LLVMDoubleTypeKind: