Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / X86 / fast-isel-medium-code-model.ll
blob4aa230a209e285b2b014a9833a7d5cb4af8c1c36
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=x86_64-linux-gnu -fast-isel -fast-isel-abort=3 -code-model=medium -large-data-threshold=5 < %s | FileCheck %s
3 ; RUN: llc -mtriple=x86_64-linux-gnu -fast-isel -code-model=medium -large-data-threshold=3 < %s -o /dev/null \
4 ; RUN:   -pass-remarks-output=- -pass-remarks-filter=sdagisel | FileCheck %s --check-prefix=FALLBACK --implicit-check-not=missed
6 declare void @foo()
8 define void @call_foo() {
9 ; CHECK-LABEL: call_foo:
10 ; CHECK:       # %bb.0:
11 ; CHECK-NEXT:    pushq %rax
12 ; CHECK-NEXT:    .cfi_def_cfa_offset 16
13 ; CHECK-NEXT:    callq foo@PLT
14 ; CHECK-NEXT:    popq %rax
15 ; CHECK-NEXT:    .cfi_def_cfa_offset 8
16 ; CHECK-NEXT:    retq
17   call void @foo()
18   ret void
21 @g = internal global i32 42
23 ; FALLBACK: FastISel missed terminator
24 ; FALLBACK: in function: g_addr
26 define ptr @g_addr() {
27 ; CHECK-LABEL: g_addr:
28 ; CHECK:       # %bb.0:
29 ; CHECK-NEXT:    movabsq $g, %rax
30 ; CHECK-NEXT:    retq
31   ret ptr @g
34 ; FALLBACK: FastISel missed
35 ; FALLBACK: in function: load_g
37 define i32 @load_g() {
38 ; CHECK-LABEL: load_g:
39 ; CHECK:       # %bb.0:
40 ; CHECK-NEXT:    movl g, %eax
41 ; CHECK-NEXT:    retq
42   %i = load i32, ptr @g
43   ret i32 %i