1afa3afa3SPetar Avramovic; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*7da0d0a6SSimon Atanasyan; RUN: llc -O0 -mtriple=mipsel-linux-gnu -global-isel \ 3*7da0d0a6SSimon Atanasyan; RUN: -verify-machineinstrs %s -o -| FileCheck %s 4*7da0d0a6SSimon Atanasyan; RUN: llc -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -global-isel \ 5*7da0d0a6SSimon Atanasyan; RUN: -verify-machineinstrs %s -o -| FileCheck %s 6afa3afa3SPetar Avramovic 7afa3afa3SPetar Avramovicdefine float @float_add(float %a, float %b) { 8*7da0d0a6SSimon Atanasyan; CHECK-LABEL: float_add: 9*7da0d0a6SSimon Atanasyan; CHECK: # %bb.0: # %entry 10*7da0d0a6SSimon Atanasyan; CHECK-NEXT: add.s $f0, $f12, $f14 11*7da0d0a6SSimon Atanasyan; CHECK-NEXT: jr $ra 12*7da0d0a6SSimon Atanasyan; CHECK-NEXT: nop 13afa3afa3SPetar Avramovicentry: 14afa3afa3SPetar Avramovic %add = fadd float %a, %b 15afa3afa3SPetar Avramovic ret float %add 16afa3afa3SPetar Avramovic} 17afa3afa3SPetar Avramovic 18afa3afa3SPetar Avramovicdefine float @float_sub(float %a, float %b) { 19*7da0d0a6SSimon Atanasyan; CHECK-LABEL: float_sub: 20*7da0d0a6SSimon Atanasyan; CHECK: # %bb.0: # %entry 21*7da0d0a6SSimon Atanasyan; CHECK-NEXT: sub.s $f0, $f12, $f14 22*7da0d0a6SSimon Atanasyan; CHECK-NEXT: jr $ra 23*7da0d0a6SSimon Atanasyan; CHECK-NEXT: nop 24afa3afa3SPetar Avramovicentry: 25afa3afa3SPetar Avramovic %sub = fsub float %a, %b 26afa3afa3SPetar Avramovic ret float %sub 27afa3afa3SPetar Avramovic} 28afa3afa3SPetar Avramovic 29afa3afa3SPetar Avramovicdefine float @float_mul(float %a, float %b) { 30*7da0d0a6SSimon Atanasyan; CHECK-LABEL: float_mul: 31*7da0d0a6SSimon Atanasyan; CHECK: # %bb.0: # %entry 32*7da0d0a6SSimon Atanasyan; CHECK-NEXT: mul.s $f0, $f12, $f14 33*7da0d0a6SSimon Atanasyan; CHECK-NEXT: jr $ra 34*7da0d0a6SSimon Atanasyan; CHECK-NEXT: nop 35afa3afa3SPetar Avramovicentry: 36afa3afa3SPetar Avramovic %mul = fmul float %a, %b 37afa3afa3SPetar Avramovic ret float %mul 38afa3afa3SPetar Avramovic} 39afa3afa3SPetar Avramovic 40afa3afa3SPetar Avramovicdefine float @float_div(float %a, float %b) { 41*7da0d0a6SSimon Atanasyan; CHECK-LABEL: float_div: 42*7da0d0a6SSimon Atanasyan; CHECK: # %bb.0: # %entry 43*7da0d0a6SSimon Atanasyan; CHECK-NEXT: div.s $f0, $f12, $f14 44*7da0d0a6SSimon Atanasyan; CHECK-NEXT: jr $ra 45*7da0d0a6SSimon Atanasyan; CHECK-NEXT: nop 46afa3afa3SPetar Avramovicentry: 47afa3afa3SPetar Avramovic %div = fdiv float %a, %b 48afa3afa3SPetar Avramovic ret float %div 49afa3afa3SPetar Avramovic} 50afa3afa3SPetar Avramovic 51afa3afa3SPetar Avramovicdefine double @double_add(double %a, double %b) { 52*7da0d0a6SSimon Atanasyan; CHECK-LABEL: double_add: 53*7da0d0a6SSimon Atanasyan; CHECK: # %bb.0: # %entry 54*7da0d0a6SSimon Atanasyan; CHECK-NEXT: add.d $f0, $f12, $f14 55*7da0d0a6SSimon Atanasyan; CHECK-NEXT: jr $ra 56*7da0d0a6SSimon Atanasyan; CHECK-NEXT: nop 57afa3afa3SPetar Avramovicentry: 58afa3afa3SPetar Avramovic %add = fadd double %a, %b 59afa3afa3SPetar Avramovic ret double %add 60afa3afa3SPetar Avramovic} 61afa3afa3SPetar Avramovic 62afa3afa3SPetar Avramovicdefine double @double_sub(double %a, double %b) { 63*7da0d0a6SSimon Atanasyan; CHECK-LABEL: double_sub: 64*7da0d0a6SSimon Atanasyan; CHECK: # %bb.0: # %entry 65*7da0d0a6SSimon Atanasyan; CHECK-NEXT: sub.d $f0, $f12, $f14 66*7da0d0a6SSimon Atanasyan; CHECK-NEXT: jr $ra 67*7da0d0a6SSimon Atanasyan; CHECK-NEXT: nop 68afa3afa3SPetar Avramovicentry: 69afa3afa3SPetar Avramovic %sub = fsub double %a, %b 70afa3afa3SPetar Avramovic ret double %sub 71afa3afa3SPetar Avramovic} 72afa3afa3SPetar Avramovic 73afa3afa3SPetar Avramovicdefine double @double_mul(double %a, double %b) { 74*7da0d0a6SSimon Atanasyan; CHECK-LABEL: double_mul: 75*7da0d0a6SSimon Atanasyan; CHECK: # %bb.0: # %entry 76*7da0d0a6SSimon Atanasyan; CHECK-NEXT: mul.d $f0, $f12, $f14 77*7da0d0a6SSimon Atanasyan; CHECK-NEXT: jr $ra 78*7da0d0a6SSimon Atanasyan; CHECK-NEXT: nop 79afa3afa3SPetar Avramovicentry: 80afa3afa3SPetar Avramovic %mul = fmul double %a, %b 81afa3afa3SPetar Avramovic ret double %mul 82afa3afa3SPetar Avramovic} 83afa3afa3SPetar Avramovic 84afa3afa3SPetar Avramovicdefine double @double_div(double %a, double %b) { 85*7da0d0a6SSimon Atanasyan; CHECK-LABEL: double_div: 86*7da0d0a6SSimon Atanasyan; CHECK: # %bb.0: # %entry 87*7da0d0a6SSimon Atanasyan; CHECK-NEXT: div.d $f0, $f12, $f14 88*7da0d0a6SSimon Atanasyan; CHECK-NEXT: jr $ra 89*7da0d0a6SSimon Atanasyan; CHECK-NEXT: nop 90afa3afa3SPetar Avramovicentry: 91afa3afa3SPetar Avramovic %div = fdiv double %a, %b 92afa3afa3SPetar Avramovic ret double %div 93afa3afa3SPetar Avramovic} 94