brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.3 KiB · e9e718c Raw
180 lines · plain
1; RUN: llc -verify-machineinstrs  -mtriple=powerpc-unknown-linux-gnu -O0 < %s | FileCheck %s2 3@ld = common global ppc_fp128 0xM00000000000000000000000000000000, align 164@ld2 = common global ppc_fp128 0xM00000000000000000000000000000000, align 165@d = common global double 0.000000e+00, align 86@f = common global float 0.000000e+00, align 47@i = common global i32 0, align 48@ui = common global i32 0, align 49@var = common global i8 0, align 110 11define void @foo() #0 {12entry:13  %c = alloca ppc_fp128, align 1614  %0 = load ppc_fp128, ptr @ld, align 1615  %1 = load ppc_fp128, ptr @ld2, align 1616  %add = fadd ppc_fp128 %0, %117  store volatile ppc_fp128 %add, ptr %c, align 1618  %2 = load ppc_fp128, ptr @ld, align 1619  %3 = load ppc_fp128, ptr @ld2, align 1620  %sub = fsub ppc_fp128 %2, %321  store volatile ppc_fp128 %sub, ptr %c, align 1622  %4 = load ppc_fp128, ptr @ld, align 1623  %5 = load ppc_fp128, ptr @ld2, align 1624  %mul = fmul ppc_fp128 %4, %525  store volatile ppc_fp128 %mul, ptr %c, align 1626  %6 = load ppc_fp128, ptr @ld, align 1627  %7 = load ppc_fp128, ptr @ld2, align 1628  %div = fdiv ppc_fp128 %6, %729  store volatile ppc_fp128 %div, ptr %c, align 1630  ret void31 32  ; CHECK-LABEL:    __gcc_qadd33  ; CHECK-LABEL:    __gcc_qsub34  ; CHECK-LABEL:    __gcc_qmul35  ; CHECK-LABEL:    __gcc_qdiv36}37 38define void @foo1() #0 {39entry:40  %0 = load double, ptr @d, align 841  %conv = fpext double %0 to ppc_fp12842  store ppc_fp128 %conv, ptr @ld, align 1643  ret void44 45  ; CHECK-LABEL:    __gcc_dtoq46}47 48define void @foo2() #0 {49entry:50  %0 = load ppc_fp128, ptr @ld, align 1651  %conv = fptrunc ppc_fp128 %0 to double52  store double %conv, ptr @d, align 853  ret void54 55  ; CHECK-LABEL:    __gcc_qtod56}57 58define void @foo3() #0 {59entry:60  %0 = load ppc_fp128, ptr @ld, align 1661  %conv = fptrunc ppc_fp128 %0 to float62  store float %conv, ptr @f, align 463  ret void64 65  ; CHECK-LABEL:    __gcc_qtos66}67 68define void @foo4() #0 {69entry:70  %0 = load i32, ptr @i, align 471  %conv = sitofp i32 %0 to ppc_fp12872  store ppc_fp128 %conv, ptr @ld, align 1673  ret void74 75  ; CHECK-LABEL:    __gcc_itoq76}77 78define void @foo5() #0 {79entry:80  %0 = load i32, ptr @ui, align 481  %conv = uitofp i32 %0 to ppc_fp12882  store ppc_fp128 %conv, ptr @ld, align 1683  ret void84 85  ; CHECK-LABEL:    __gcc_utoq86}87 88define void @foo6() #0 {89entry:90  %0 = load ppc_fp128, ptr @ld, align 1691  %1 = load ppc_fp128, ptr @ld2, align 1692  %cmp = fcmp oeq ppc_fp128 %0, %193  %conv = zext i1 %cmp to i3294  %conv1 = trunc i32 %conv to i895  store i8 %conv1, ptr @var, align 196  ret void97 98  ; CHECK-LABEL:    __gcc_qeq99}100 101define void @foo7() #0 {102entry:103  %0 = load ppc_fp128, ptr @ld, align 16104  %1 = load ppc_fp128, ptr @ld2, align 16105  %cmp = fcmp une ppc_fp128 %0, %1106  %conv = zext i1 %cmp to i32107  %conv1 = trunc i32 %conv to i8108  store i8 %conv1, ptr @var, align 1109  ret void110 111  ; CHECK-LABEL:    __gcc_qne112}113 114define void @foo8() #0 {115entry:116  %0 = load ppc_fp128, ptr @ld, align 16117  %1 = load ppc_fp128, ptr @ld2, align 16118  %cmp = fcmp ogt ppc_fp128 %0, %1119  %conv = zext i1 %cmp to i32120  %conv1 = trunc i32 %conv to i8121  store i8 %conv1, ptr @var, align 1122  ret void123 124  ; CHECK-LABEL:    __gcc_qgt125}126 127define void @foo9() #0 {128entry:129  %0 = load ppc_fp128, ptr @ld, align 16130  %1 = load ppc_fp128, ptr @ld2, align 16131  %cmp = fcmp olt ppc_fp128 %0, %1132  %conv = zext i1 %cmp to i32133  %conv1 = trunc i32 %conv to i8134  store i8 %conv1, ptr @var, align 1135  ret void136 137  ; CHECK-LABEL:    __gcc_qlt138}139 140define void @foo10() #0 {141entry:142  %0 = load ppc_fp128, ptr @ld, align 16143  %1 = load ppc_fp128, ptr @ld2, align 16144  %cmp = fcmp ole ppc_fp128 %0, %1145  %conv = zext i1 %cmp to i32146  %conv1 = trunc i32 %conv to i8147  store i8 %conv1, ptr @var, align 1148  ret void149 150  ; CHECK-LABEL:    __gcc_qle151}152 153define void @foo11() #0 {154entry:155  %0 = load ppc_fp128, ptr @ld, align 16156  %1 = load ppc_fp128, ptr @ld, align 16157  %cmp = fcmp une ppc_fp128 %0, %1158  %conv = zext i1 %cmp to i32159  %conv1 = trunc i32 %conv to i8160  store i8 %conv1, ptr @var, align 1161  ret void162 163  ; CHECK-LABEL:    __gcc_qunord164}165 166define void @foo12() #0 {167entry:168  %0 = load ppc_fp128, ptr @ld, align 16169  %1 = load ppc_fp128, ptr @ld2, align 16170  %cmp = fcmp oge ppc_fp128 %0, %1171  %conv = zext i1 %cmp to i32172  %conv1 = trunc i32 %conv to i8173  store i8 %conv1, ptr @var, align 1174  ret void175 176  ; CHECK-LABEL:    __gcc_qge177}178 179attributes #0 = { "use-soft-float"="true" }180