Files
UnrealEngine/Engine/Source/ThirdParty/Intel/ISPC/ispc-1.24.0/tests/lit-tests/mcmodel.ispc
2025-05-18 13:04:45 +08:00

27 lines
1.4 KiB
Plaintext

// RUN: %{ispc} %s --nostdlib --target=avx2-i32x8 --arch=x86-64 --emit-asm -o - | FileCheck %s -check-prefix=CHECK-NOMODEL-ASM
// RUN: %{ispc} %s --nostdlib --target=avx2-i32x8 --arch=x86-64 --emit-asm --mcmodel=small -o - | FileCheck %s -check-prefix=CHECK-SMALL-ASM
// RUN: %{ispc} %s --nostdlib --target=avx2-i32x8 --arch=x86-64 --emit-asm --mcmodel=large -o - | FileCheck %s -check-prefix=CHECK-LARGE-ASM
// RUN: %{ispc} %s --nostdlib --target=avx2-i32x8 --arch=x86-64 --emit-llvm-text -o - | FileCheck %s -check-prefix=CHECK-NOMODEL-IR
// RUN: %{ispc} %s --nostdlib --target=avx2-i32x8 --arch=x86-64 --emit-llvm-text --mcmodel=small -o - | FileCheck %s -check-prefix=CHECK-SMALL-IR
// RUN: %{ispc} %s --nostdlib --target=avx2-i32x8 --arch=x86-64 --emit-llvm-text --mcmodel=large -o - | FileCheck %s -check-prefix=CHECK-LARGE-IR
// REQUIRES: X86_ENABLED
// CHECK-NOMODEL-ASM: {{lea|array@GOTPCREL}}
// CHECK-SMALL-ASM: {{lea|array@GOTPCREL}}
// CHECK-LARGE-ASM movabsq:
// CHECK-LARGE-ASM-NOT: lea
// CHECK-LARGE-ASM-NOT: array@GOTPCREL
// CHECK-SMALL-IR: !llvm.module.flags = !{{{.*}}}
// CHECK-SMALL-IR: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 1}
// CHECK-LARGE-IR: !llvm.module.flags = !{{{.*}}}
// CHECK-LARGE-IR: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 4}
// CHECK-NOMODEL-IR-NOT: Code Model
uniform int array[100];
uniform int foo(uniform int i) {
return array[i];
}