mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
Update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186594 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
39f59f4d95
commit
be9dd85f44
@ -6,7 +6,7 @@ target triple = "armv4t--linux-gnueabihf"
|
||||
%big_struct0 = type { [517 x i32] }
|
||||
%big_struct1 = type { [516 x i32] }
|
||||
|
||||
;CHECK: f:
|
||||
;CHECK-LABEL: f:
|
||||
define void @f(%big_struct0* %p0, %big_struct1* %p1) {
|
||||
|
||||
;CHECK: sub sp, sp, #8
|
||||
|
@ -3,9 +3,9 @@
|
||||
; RUN: llc -mtriple armv7-apple-darwin %s -o - | FileCheck %s --check-prefix=DARWIN
|
||||
|
||||
define signext i16 @f16(i16 signext %a, i16 signext %b) {
|
||||
; EABI: f16:
|
||||
; GNU: f16:
|
||||
; DARWIN: f16:
|
||||
; EABI-LABEL: f16:
|
||||
; GNU-LABEL: f16:
|
||||
; DARWIN-LABEL: f16:
|
||||
entry:
|
||||
%conv = sext i16 %a to i32
|
||||
%conv1 = sext i16 %b to i32
|
||||
@ -39,9 +39,9 @@ entry:
|
||||
}
|
||||
|
||||
define i32 @f32(i32 %a, i32 %b) {
|
||||
; EABI: f32:
|
||||
; GNU: f32:
|
||||
; DARWIN: f32:
|
||||
; EABI-LABEL: f32:
|
||||
; GNU-LABEL: f32:
|
||||
; DARWIN-LABEL: f32:
|
||||
entry:
|
||||
%div = sdiv i32 %a, %b
|
||||
%rem = srem i32 %a, %b
|
||||
@ -69,9 +69,9 @@ entry:
|
||||
}
|
||||
|
||||
define i32 @uf(i32 %a, i32 %b) {
|
||||
; EABI: uf:
|
||||
; GNU: uf:
|
||||
; DARWIN: uf:
|
||||
; EABI-LABEL: uf:
|
||||
; GNU-LABEL: uf:
|
||||
; DARWIN-LABEL: uf:
|
||||
entry:
|
||||
%div = udiv i32 %a, %b
|
||||
%rem = urem i32 %a, %b
|
||||
@ -98,9 +98,9 @@ entry:
|
||||
|
||||
; FIXME: AEABI is not lowering long u/srem into u/ldivmod
|
||||
define i64 @longf(i64 %a, i64 %b) {
|
||||
; EABI: longf:
|
||||
; GNU: longf:
|
||||
; DARWIN: longf:
|
||||
; EABI-LABEL: longf:
|
||||
; GNU-LABEL: longf:
|
||||
; DARWIN-LABEL: longf:
|
||||
entry:
|
||||
%div = sdiv i64 %a, %b
|
||||
%rem = srem i64 %a, %b
|
||||
@ -121,9 +121,9 @@ entry:
|
||||
}
|
||||
|
||||
define i32 @g1(i32 %a, i32 %b) {
|
||||
; EABI: g1:
|
||||
; GNU: g1:
|
||||
; DARWIN: g1:
|
||||
; EABI-LABEL: g1:
|
||||
; GNU-LABEL: g1:
|
||||
; DARWIN-LABEL: g1:
|
||||
entry:
|
||||
%div = sdiv i32 %a, %b
|
||||
%rem = srem i32 %a, %b
|
||||
@ -143,9 +143,9 @@ entry:
|
||||
|
||||
; On both Darwin and Gnu, this is just a call to __modsi3
|
||||
define i32 @g2(i32 %a, i32 %b) {
|
||||
; EABI: g2:
|
||||
; GNU: g2:
|
||||
; DARWIN: g2:
|
||||
; EABI-LABEL: g2:
|
||||
; GNU-LABEL: g2:
|
||||
; DARWIN-LABEL: g2:
|
||||
entry:
|
||||
%rem = srem i32 %a, %b
|
||||
; EABI: __aeabi_idivmod
|
||||
@ -156,9 +156,9 @@ entry:
|
||||
}
|
||||
|
||||
define i32 @g3(i32 %a, i32 %b) {
|
||||
; EABI: g3:
|
||||
; GNU: g3:
|
||||
; DARWIN: g3:
|
||||
; EABI-LABEL: g3:
|
||||
; GNU-LABEL: g3:
|
||||
; DARWIN-LABEL: g3:
|
||||
entry:
|
||||
%rem = srem i32 %a, %b
|
||||
; EABI: __aeabi_idivmod
|
||||
@ -179,9 +179,9 @@ entry:
|
||||
}
|
||||
|
||||
define i32 @g4(i32 %a, i32 %b) {
|
||||
; EABI: g4:
|
||||
; GNU: g4:
|
||||
; DARWIN: g4:
|
||||
; EABI-LABEL: g4:
|
||||
; GNU-LABEL: g4:
|
||||
; DARWIN-LABEL: g4:
|
||||
entry:
|
||||
%div = sdiv i32 %a, %b
|
||||
; EABI: __aeabi_idivmod
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
%0 = type { i32, i32 }
|
||||
|
||||
; CHECK: f0:
|
||||
; CHECK-LABEL: f0:
|
||||
; CHECK: ldrexd
|
||||
define i64 @f0(i8* %p) nounwind readonly {
|
||||
entry:
|
||||
@ -19,7 +19,7 @@ entry:
|
||||
ret i64 %4
|
||||
}
|
||||
|
||||
; CHECK: f1:
|
||||
; CHECK-LABEL: f1:
|
||||
; CHECK: strexd
|
||||
define i32 @f1(i8* %ptr, i64 %val) nounwind {
|
||||
entry:
|
||||
@ -33,7 +33,7 @@ entry:
|
||||
declare %0 @llvm.arm.ldrexd(i8*) nounwind readonly
|
||||
declare i32 @llvm.arm.strexd(i32, i32, i8*) nounwind
|
||||
|
||||
; CHECK: test_load_i8:
|
||||
; CHECK-LABEL: test_load_i8:
|
||||
; CHECK: ldrexb r0, [r0]
|
||||
; CHECK-NOT: uxtb
|
||||
define i32 @test_load_i8(i8* %addr) {
|
||||
@ -41,7 +41,7 @@ define i32 @test_load_i8(i8* %addr) {
|
||||
ret i32 %val
|
||||
}
|
||||
|
||||
; CHECK: test_load_i16:
|
||||
; CHECK-LABEL: test_load_i16:
|
||||
; CHECK: ldrexh r0, [r0]
|
||||
; CHECK-NOT: uxth
|
||||
define i32 @test_load_i16(i16* %addr) {
|
||||
@ -49,7 +49,7 @@ define i32 @test_load_i16(i16* %addr) {
|
||||
ret i32 %val
|
||||
}
|
||||
|
||||
; CHECK: test_load_i32:
|
||||
; CHECK-LABEL: test_load_i32:
|
||||
; CHECK: ldrex r0, [r0]
|
||||
define i32 @test_load_i32(i32* %addr) {
|
||||
%val = call i32 @llvm.arm.ldrex.p0i32(i32* %addr)
|
||||
@ -60,7 +60,7 @@ declare i32 @llvm.arm.ldrex.p0i8(i8*) nounwind readonly
|
||||
declare i32 @llvm.arm.ldrex.p0i16(i16*) nounwind readonly
|
||||
declare i32 @llvm.arm.ldrex.p0i32(i32*) nounwind readonly
|
||||
|
||||
; CHECK: test_store_i8:
|
||||
; CHECK-LABEL: test_store_i8:
|
||||
; CHECK-NOT: uxtb
|
||||
; CHECK: strexb r0, r1, [r2]
|
||||
define i32 @test_store_i8(i32, i8 %val, i8* %addr) {
|
||||
@ -69,7 +69,7 @@ define i32 @test_store_i8(i32, i8 %val, i8* %addr) {
|
||||
ret i32 %res
|
||||
}
|
||||
|
||||
; CHECK: test_store_i16:
|
||||
; CHECK-LABEL: test_store_i16:
|
||||
; CHECK-NOT: uxth
|
||||
; CHECK: strexh r0, r1, [r2]
|
||||
define i32 @test_store_i16(i32, i16 %val, i16* %addr) {
|
||||
@ -78,7 +78,7 @@ define i32 @test_store_i16(i32, i16 %val, i16* %addr) {
|
||||
ret i32 %res
|
||||
}
|
||||
|
||||
; CHECK: test_store_i32:
|
||||
; CHECK-LABEL: test_store_i32:
|
||||
; CHECK: strex r0, r1, [r2]
|
||||
define i32 @test_store_i32(i32, i32 %val, i32* %addr) {
|
||||
%res = call i32 @llvm.arm.strex.p0i32(i32 %val, i32* %addr)
|
||||
@ -89,7 +89,7 @@ declare i32 @llvm.arm.strex.p0i8(i32, i8*) nounwind
|
||||
declare i32 @llvm.arm.strex.p0i16(i32, i16*) nounwind
|
||||
declare i32 @llvm.arm.strex.p0i32(i32, i32*) nounwind
|
||||
|
||||
; CHECK: test_clear:
|
||||
; CHECK-LABEL: test_clear:
|
||||
; CHECK: clrex
|
||||
define void @test_clear() {
|
||||
call void @llvm.arm.clrex()
|
||||
@ -101,7 +101,7 @@ declare void @llvm.arm.clrex() nounwind
|
||||
@base = global i32* null
|
||||
|
||||
define void @excl_addrmode() {
|
||||
; CHECK-T2ADDRMODE: excl_addrmode:
|
||||
; CHECK-T2ADDRMODE-LABEL: excl_addrmode:
|
||||
%base1020 = load i32** @base
|
||||
%offset1020 = getelementptr i32* %base1020, i32 255
|
||||
call i32 @llvm.arm.ldrex.p0i32(i32* %offset1020)
|
||||
|
Loading…
Reference in New Issue
Block a user