diff options
Diffstat (limited to 'llvm/test')
4 files changed, 48 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/inline-asm-multilevel-gep.ll b/llvm/test/CodeGen/AArch64/inline-asm-multilevel-gep.ll new file mode 100644 index 00000000000..5152302b11b --- /dev/null +++ b/llvm/test/CodeGen/AArch64/inline-asm-multilevel-gep.ll @@ -0,0 +1,12 @@ +; RUN: llc < %s -mtriple aarch64-gnu-linux | FileCheck %s + +; @foo is a 2d array of i32s, ex. +; i32 foo [2][2] +@foo = internal global [2 x [2 x i32]] zeroinitializer, align 4 + +define void @bar() { +; access foo[1][1] +; CHECK: // foo+12 + tail call void asm sideeffect "// ${0:c}", "i"(i32* getelementptr inbounds ([2 x [2 x i32]], [2 x [2 x i32]]* @foo, i64 0, i64 1, i64 1)) + ret void +} diff --git a/llvm/test/CodeGen/ARM/inline-asm-multilevel-gep.ll b/llvm/test/CodeGen/ARM/inline-asm-multilevel-gep.ll new file mode 100644 index 00000000000..145db14959a --- /dev/null +++ b/llvm/test/CodeGen/ARM/inline-asm-multilevel-gep.ll @@ -0,0 +1,12 @@ +; RUN: llc < %s -mtriple armv7-linux-gnueabi | FileCheck %s + +; @foo is a 2d array of i32s, ex. +; i32 foo [2][2] +@foo = internal global [2 x [2 x i32]] zeroinitializer, align 4 + +define void @bar() { +; access foo[1][1] +; CHECK: @ foo+12 + tail call void asm sideeffect "@ ${0:c}", "i"(i32* getelementptr inbounds ([2 x [2 x i32]], [2 x [2 x i32]]* @foo, i64 0, i64 1, i64 1)) + ret void +} diff --git a/llvm/test/CodeGen/PowerPC/inline-asm-multilevel-gep.ll b/llvm/test/CodeGen/PowerPC/inline-asm-multilevel-gep.ll new file mode 100644 index 00000000000..5c828dee546 --- /dev/null +++ b/llvm/test/CodeGen/PowerPC/inline-asm-multilevel-gep.ll @@ -0,0 +1,12 @@ +; RUN: llc < %s -mtriple ppc32-- | FileCheck %s + +; @foo is a 2d array of i32s, ex. +; i32 foo [2][2] +@foo = internal global [2 x [2 x i32]] zeroinitializer, align 4 + +define void @bar() { +; access foo[1][1] +; CHECK: # foo+12 + tail call void asm sideeffect "# ${0:c}", "i"(i32* getelementptr inbounds ([2 x [2 x i32]], [2 x [2 x i32]]* @foo, i64 0, i64 1, i64 1)) + ret void +} diff --git a/llvm/test/CodeGen/X86/inline-asm-multilevel-gep.ll b/llvm/test/CodeGen/X86/inline-asm-multilevel-gep.ll new file mode 100644 index 00000000000..66b7b1c1912 --- /dev/null +++ b/llvm/test/CodeGen/X86/inline-asm-multilevel-gep.ll @@ -0,0 +1,12 @@ +; RUN: llc < %s -mtriple x86_64-gnu-linux | FileCheck %s + +; @foo is a 2d array of i32s, ex. +; i32 foo [2][2] +@foo = internal global [2 x [2 x i32]] zeroinitializer, align 4 + +define void @bar() { +; access foo[1][1] +; CHECK: # foo+12 + tail call void asm sideeffect "# ${0:c}", "i"(i32* getelementptr inbounds ([2 x [2 x i32]], [2 x [2 x i32]]* @foo, i64 0, i64 1, i64 1)) + ret void +} |