1*6ee2f770SChen Zheng; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*6ee2f770SChen Zheng 3*6ee2f770SChen Zheng; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -global-isel -code-model=small \ 4*6ee2f770SChen Zheng; RUN: -verify-machineinstrs -o - < %s | FileCheck %s --check-prefix=SMALL 5*6ee2f770SChen Zheng; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -global-isel -code-model=medium \ 6*6ee2f770SChen Zheng; RUN: -verify-machineinstrs -o - < %s | FileCheck %s --check-prefix=MEDIUM 7*6ee2f770SChen Zheng; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -global-isel -code-model=large \ 8*6ee2f770SChen Zheng; RUN: -verify-machineinstrs -o - < %s | FileCheck %s --check-prefix=LARGE 9*6ee2f770SChen Zheng 10*6ee2f770SChen Zhengdefine float @foo_float() { 11*6ee2f770SChen Zheng; SMALL-LABEL: foo_float: 12*6ee2f770SChen Zheng; SMALL: # %bb.0: # %entry 13*6ee2f770SChen Zheng; SMALL-NEXT: ld 3, .LC0@toc(2) 14*6ee2f770SChen Zheng; SMALL-NEXT: lfs 1, 0(3) 15*6ee2f770SChen Zheng; SMALL-NEXT: blr 16*6ee2f770SChen Zheng; 17*6ee2f770SChen Zheng; MEDIUM-LABEL: foo_float: 18*6ee2f770SChen Zheng; MEDIUM: # %bb.0: # %entry 19*6ee2f770SChen Zheng; MEDIUM-NEXT: addis 3, 2, .LCPI0_0@toc@ha 20*6ee2f770SChen Zheng; MEDIUM-NEXT: addi 3, 3, .LCPI0_0@toc@l 21*6ee2f770SChen Zheng; MEDIUM-NEXT: lfs 1, 0(3) 22*6ee2f770SChen Zheng; MEDIUM-NEXT: blr 23*6ee2f770SChen Zheng; 24*6ee2f770SChen Zheng; LARGE-LABEL: foo_float: 25*6ee2f770SChen Zheng; LARGE: # %bb.0: # %entry 26*6ee2f770SChen Zheng; LARGE-NEXT: addis 3, 2, .LC0@toc@ha 27*6ee2f770SChen Zheng; LARGE-NEXT: ld 3, .LC0@toc@l(3) 28*6ee2f770SChen Zheng; LARGE-NEXT: lfs 1, 0(3) 29*6ee2f770SChen Zheng; LARGE-NEXT: blr 30*6ee2f770SChen Zhengentry: 31*6ee2f770SChen Zheng ret float 1.000000e+00 32*6ee2f770SChen Zheng} 33*6ee2f770SChen Zheng 34*6ee2f770SChen Zhengdefine double @foo_double() { 35*6ee2f770SChen Zheng; SMALL-LABEL: foo_double: 36*6ee2f770SChen Zheng; SMALL: # %bb.0: # %entry 37*6ee2f770SChen Zheng; SMALL-NEXT: ld 3, .LC1@toc(2) 38*6ee2f770SChen Zheng; SMALL-NEXT: lfd 1, 0(3) 39*6ee2f770SChen Zheng; SMALL-NEXT: blr 40*6ee2f770SChen Zheng; 41*6ee2f770SChen Zheng; MEDIUM-LABEL: foo_double: 42*6ee2f770SChen Zheng; MEDIUM: # %bb.0: # %entry 43*6ee2f770SChen Zheng; MEDIUM-NEXT: addis 3, 2, .LCPI1_0@toc@ha 44*6ee2f770SChen Zheng; MEDIUM-NEXT: addi 3, 3, .LCPI1_0@toc@l 45*6ee2f770SChen Zheng; MEDIUM-NEXT: lfd 1, 0(3) 46*6ee2f770SChen Zheng; MEDIUM-NEXT: blr 47*6ee2f770SChen Zheng; 48*6ee2f770SChen Zheng; LARGE-LABEL: foo_double: 49*6ee2f770SChen Zheng; LARGE: # %bb.0: # %entry 50*6ee2f770SChen Zheng; LARGE-NEXT: addis 3, 2, .LC1@toc@ha 51*6ee2f770SChen Zheng; LARGE-NEXT: ld 3, .LC1@toc@l(3) 52*6ee2f770SChen Zheng; LARGE-NEXT: lfd 1, 0(3) 53*6ee2f770SChen Zheng; LARGE-NEXT: blr 54*6ee2f770SChen Zhengentry: 55*6ee2f770SChen Zheng ret double 1.000000e+00 56*6ee2f770SChen Zheng} 57