[mlir][tensor] fix typo in pad tiling comment
[llvm-project.git] / llvm / test / CodeGen / LoongArch / lasx / ir-instruction / fdiv.ll
blob63d8c222ae54f75fca55d9de2872b1edadbf5ce0
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2 ; RUN: llc --mtriple=loongarch64 --mattr=+lasx < %s | FileCheck %s
4 define void @fdiv_v8f32(ptr %res, ptr %a0, ptr %a1) nounwind {
5 ; CHECK-LABEL: fdiv_v8f32:
6 ; CHECK:       # %bb.0: # %entry
7 ; CHECK-NEXT:    xvld $xr0, $a1, 0
8 ; CHECK-NEXT:    xvld $xr1, $a2, 0
9 ; CHECK-NEXT:    xvfdiv.s $xr0, $xr0, $xr1
10 ; CHECK-NEXT:    xvst $xr0, $a0, 0
11 ; CHECK-NEXT:    ret
12 entry:
13   %v0 = load <8 x float>, ptr %a0
14   %v1 = load <8 x float>, ptr %a1
15   %v2 = fdiv <8 x float> %v0, %v1
16   store <8 x float> %v2, ptr %res
17   ret void
20 define void @fdiv_v4f64(ptr %res, ptr %a0, ptr %a1) nounwind {
21 ; CHECK-LABEL: fdiv_v4f64:
22 ; CHECK:       # %bb.0: # %entry
23 ; CHECK-NEXT:    xvld $xr0, $a1, 0
24 ; CHECK-NEXT:    xvld $xr1, $a2, 0
25 ; CHECK-NEXT:    xvfdiv.d $xr0, $xr0, $xr1
26 ; CHECK-NEXT:    xvst $xr0, $a0, 0
27 ; CHECK-NEXT:    ret
28 entry:
29   %v0 = load <4 x double>, ptr %a0
30   %v1 = load <4 x double>, ptr %a1
31   %v2 = fdiv <4 x double> %v0, %v1
32   store <4 x double> %v2, ptr %res
33   ret void
36 ;; 1.0 / vec
37 define void @one_fdiv_v8f32(ptr %res, ptr %a0) nounwind {
38 ; CHECK-LABEL: one_fdiv_v8f32:
39 ; CHECK:       # %bb.0: # %entry
40 ; CHECK-NEXT:    xvld $xr0, $a1, 0
41 ; CHECK-NEXT:    xvfrecip.s $xr0, $xr0
42 ; CHECK-NEXT:    xvst $xr0, $a0, 0
43 ; CHECK-NEXT:    ret
44 entry:
45   %v0 = load <8 x float>, ptr %a0
46   %div = fdiv <8 x float> <float 1.0, float 1.0, float 1.0, float 1.0, float 1.0, float 1.0, float 1.0, float 1.0>, %v0
47   store <8 x float> %div, ptr %res
48   ret void
51 define void @one_fdiv_v4f64(ptr %res, ptr %a0) nounwind {
52 ; CHECK-LABEL: one_fdiv_v4f64:
53 ; CHECK:       # %bb.0: # %entry
54 ; CHECK-NEXT:    xvld $xr0, $a1, 0
55 ; CHECK-NEXT:    xvfrecip.d $xr0, $xr0
56 ; CHECK-NEXT:    xvst $xr0, $a0, 0
57 ; CHECK-NEXT:    ret
58 entry:
59   %v0 = load <4 x double>, ptr %a0
60   %div = fdiv <4 x double> <double 1.0, double 1.0, double 1.0, double 1.0>, %v0
61   store <4 x double> %div, ptr %res
62   ret void