================ @@ -0,0 +1,28 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK-BOTH +// RUN: %clang_cc1 -triple x86_64-linux-gnu -msmall-int-abi-compat=both %s -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK-BOTH +// RUN: %clang_cc1 -triple x86_64-linux-gnu -msmall-int-abi-compat=clang %s -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK-CLANG +// RUN: %clang_cc1 -triple x86_64-linux-gnu -msmall-int-abi-compat=platform %s -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK-PLATFORM +// RUN: %clang_cc1 -triple x86_64-linux-gnu -fexperimental-abi-lowering %s -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK-BOTH +// RUN: %clang_cc1 -triple x86_64-linux-gnu -msmall-int-abi-compat=both -fexperimental-abi-lowering %s -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK-BOTH +// RUN: %clang_cc1 -triple x86_64-linux-gnu -msmall-int-abi-compat=clang -fexperimental-abi-lowering %s -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK-CLANG +// RUN: %clang_cc1 -triple x86_64-linux-gnu -msmall-int-abi-compat=platform -fexperimental-abi-lowering %s -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK-PLATFORM + +// -msmall-int-abi-compat=platform only needs to extend to 8-bits in the caller +// and can assume 8-bit extension in the callee. We currently can't express +// this, so we perform full 32-bit extension in the caller and do not assume ---------------- aengelke wrote:
> So this is going to need support in the ABI representation (and corresponding > lowering) first. I don't think we want it to be part of this PR? Yeah, this would probably need an ABIArgInfo::Extend that "coerces" into a wider type using zext/sext instead of setting attributes. I agree that this should be a separate change. https://github.com/llvm/llvm-project/pull/236450 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
