brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 1679ba7 Raw
70 lines · plain
1; RUN: llc -verify-machineinstrs -mcpu=a2 < %s | FileCheck %s2target datalayout = "E-m:e-i64:64-n32:64"3target triple = "powerpc64-unknown-linux-gnu"4 5; Function Attrs: nounwind6define double @foo1(ptr %x) #0 {7entry:8  %0 = load i32, ptr %x, align 49  %conv = sext i32 %0 to i6410  %conv1 = sitofp i64 %conv to double11  ret double %conv112 13; CHECK-LABEL: @foo114; CHECK: lfiwax [[REG1:[0-9]+]], 0, 315; CHECK: fcfid 1, [[REG1]]16; CHECK: blr17}18 19define double @foo2(ptr %x) #0 {20entry:21  %0 = load i32, ptr %x, align 422  %conv = zext i32 %0 to i6423  %conv1 = sitofp i64 %conv to double24  ret double %conv125 26; CHECK-LABEL: @foo227; CHECK: lfiwzx [[REG1:[0-9]+]], 0, 328; CHECK: fcfid 1, [[REG1]]29; CHECK: blr30}31 32define double @foo3(ptr %x) #0 {33entry:34  %0 = load i32, ptr %x, align 435  %1 = add i32 %0, 836  %conv = zext i32 %1 to i6437  %conv1 = sitofp i64 %conv to double38  ret double %conv139 40; CHECK-LABEL: @foo341; CHECK-DAG: lwz [[REG1:[0-9]+]], 0(3)42; CHECK-DAG: addi [[REG3:[0-9]+]], 1,43; CHECK-DAG: addi [[REG2:[0-9]+]], [[REG1]], 844; CHECK-DAG: stw [[REG2]],45; CHECK: lfiwzx [[REG4:[0-9]+]], 0, [[REG3]]46; CHECK: fcfid 1, [[REG4]]47; CHECK: blr48}49 50define double @foo4(ptr %x) #0 {51entry:52  %0 = load i32, ptr %x, align 453  %1 = add i32 %0, 854  %conv = sext i32 %1 to i6455  %conv1 = sitofp i64 %conv to double56  ret double %conv157 58; CHECK-LABEL: @foo459; CHECK-DAG: lwz [[REG1:[0-9]+]], 0(3)60; CHECK-DAG: addi [[REG3:[0-9]+]], 1,61; CHECK-DAG: addi [[REG2:[0-9]+]], [[REG1]], 862; CHECK-DAG: stw [[REG2]],63; CHECK: lfiwax [[REG4:[0-9]+]], 0, [[REG3]]64; CHECK: fcfid 1, [[REG4]]65; CHECK: blr66}67 68attributes #0 = { nounwind }69 70