; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=x86_64-linux-gnu -fast-isel -fast-isel-abort=3 -code-model=medium -large-data-threshold=5 < %s | FileCheck %s ; RUN: llc -mtriple=x86_64-linux-gnu -fast-isel -code-model=medium -large-data-threshold=3 < %s -o /dev/null \ ; RUN: -pass-remarks-output=- -pass-remarks-filter=sdagisel | FileCheck %s --check-prefix=FALLBACK --implicit-check-not=missed declare void @foo() define void @call_foo() { ; CHECK-LABEL: call_foo: ; CHECK: # %bb.0: ; CHECK-NEXT: pushq %rax ; CHECK-NEXT: .cfi_def_cfa_offset 16 ; CHECK-NEXT: callq foo@PLT ; CHECK-NEXT: popq %rax ; CHECK-NEXT: .cfi_def_cfa_offset 8 ; CHECK-NEXT: retq call void @foo() ret void } @g = internal global i32 42 ; FALLBACK: FastISel missed terminator ; FALLBACK: in function: g_addr define ptr @g_addr() { ; CHECK-LABEL: g_addr: ; CHECK: # %bb.0: ; CHECK-NEXT: movabsq $g, %rax ; CHECK-NEXT: retq ret ptr @g } ; FALLBACK: FastISel missed ; FALLBACK: in function: load_g define i32 @load_g() { ; CHECK-LABEL: load_g: ; CHECK: # %bb.0: ; CHECK-NEXT: movl g, %eax ; CHECK-NEXT: retq %i = load i32, ptr @g ret i32 %i }