brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 9e66eb7 Raw
87 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \3; RUN:   | FileCheck -check-prefix=RV32 %s4; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s \5; RUN:   | FileCheck -check-prefix=RV64 %s6 7define void @test1(ptr %a, ptr %b) nounwind {8; RV32-LABEL: test1:9; RV32:       # %bb.0: # %entry10; RV32-NEXT:    lw a1, 0(a1)11; RV32-NEXT:    lui a2, 52428812; RV32-NEXT:    xor a1, a1, a213; RV32-NEXT:    sw a1, 0(a0)14; RV32-NEXT:    ret15;16; RV64-LABEL: test1:17; RV64:       # %bb.0: # %entry18; RV64-NEXT:    lw a1, 0(a1)19; RV64-NEXT:    lui a2, 52428820; RV64-NEXT:    xor a1, a1, a221; RV64-NEXT:    sw a1, 0(a0)22; RV64-NEXT:    ret23entry:24  %0 = load float, ptr %b25  %neg = fneg float %026  store float %neg, ptr %a27  ret void28}29 30define void @test2(ptr %a, ptr %b) nounwind {31; RV32-LABEL: test2:32; RV32:       # %bb.0: # %entry33; RV32-NEXT:    lw a2, 4(a1)34; RV32-NEXT:    lw a1, 0(a1)35; RV32-NEXT:    lui a3, 52428836; RV32-NEXT:    xor a2, a2, a337; RV32-NEXT:    sw a1, 0(a0)38; RV32-NEXT:    sw a2, 4(a0)39; RV32-NEXT:    ret40;41; RV64-LABEL: test2:42; RV64:       # %bb.0: # %entry43; RV64-NEXT:    ld a1, 0(a1)44; RV64-NEXT:    li a2, -145; RV64-NEXT:    slli a2, a2, 6346; RV64-NEXT:    xor a1, a1, a247; RV64-NEXT:    sd a1, 0(a0)48; RV64-NEXT:    ret49entry:50  %0 = load double, ptr %b51  %neg = fneg double %052  store double %neg, ptr %a53  ret void54}55 56define void @test3(ptr %a, ptr %b) nounwind {57; RV32-LABEL: test3:58; RV32:       # %bb.0: # %entry59; RV32-NEXT:    lw a2, 0(a1)60; RV32-NEXT:    lw a3, 12(a1)61; RV32-NEXT:    lw a4, 4(a1)62; RV32-NEXT:    lw a1, 8(a1)63; RV32-NEXT:    lui a5, 52428864; RV32-NEXT:    xor a3, a3, a565; RV32-NEXT:    sw a2, 0(a0)66; RV32-NEXT:    sw a4, 4(a0)67; RV32-NEXT:    sw a1, 8(a0)68; RV32-NEXT:    sw a3, 12(a0)69; RV32-NEXT:    ret70;71; RV64-LABEL: test3:72; RV64:       # %bb.0: # %entry73; RV64-NEXT:    ld a2, 8(a1)74; RV64-NEXT:    ld a1, 0(a1)75; RV64-NEXT:    li a3, -176; RV64-NEXT:    slli a3, a3, 6377; RV64-NEXT:    xor a2, a2, a378; RV64-NEXT:    sd a1, 0(a0)79; RV64-NEXT:    sd a2, 8(a0)80; RV64-NEXT:    ret81entry:82  %0 = load fp128, ptr %b83  %neg = fneg fp128 %084  store fp128 %neg, ptr %a85  ret void86}87