brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 97fb0a0 Raw
97 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s | FileCheck %s3 4target triple = "aarch64-linux"5 6define <4 x half> @test_famin_f16(<4 x half> %vn, <4 x half> %vm) #0 {7; CHECK-LABEL: test_famin_f16:8; CHECK:       // %bb.0:9; CHECK-NEXT:    famin v0.4h, v0.4h, v1.4h10; CHECK-NEXT:    ret11  %res = call <4 x half> @llvm.aarch64.neon.famin.v4f16(<4 x half> %vn, <4 x half> %vm)12  ret <4 x half> %res13}14 15define <8 x half> @test_famin2_f16(<8 x half> %vn, <8 x half> %vm) #0 {16; CHECK-LABEL: test_famin2_f16:17; CHECK:       // %bb.0:18; CHECK-NEXT:    famin v0.8h, v0.8h, v1.8h19; CHECK-NEXT:    ret20  %res = call <8 x half> @llvm.aarch64.neon.famin.v8f16(<8 x half> %vn, <8 x half> %vm)21  ret <8 x half> %res22}23 24define <2 x float> @test_famin_f32(<2 x float> %vn, <2 x float> %vm) #0 {25; CHECK-LABEL: test_famin_f32:26; CHECK:       // %bb.0:27; CHECK-NEXT:    famin v0.2s, v0.2s, v1.2s28; CHECK-NEXT:    ret29  %res = call <2 x float> @llvm.aarch64.neon.famin.v2f32(<2 x float> %vn, <2 x float> %vm)30  ret <2 x float> %res31}32 33define <4 x float> @test_famin2_f32(<4 x float> %vn, <4 x float> %vm) #0 {34; CHECK-LABEL: test_famin2_f32:35; CHECK:       // %bb.0:36; CHECK-NEXT:    famin v0.4s, v0.4s, v1.4s37; CHECK-NEXT:    ret38  %res = call <4 x float> @llvm.aarch64.neon.famin.v4f32(<4 x float> %vn, <4 x float> %vm)39  ret <4 x float> %res40}41 42define <2 x double> @test_famin_f64(<2 x double> %vn, <2 x double> %vm) #0 {43; CHECK-LABEL: test_famin_f64:44; CHECK:       // %bb.0:45; CHECK-NEXT:    famin v0.2d, v0.2d, v1.2d46; CHECK-NEXT:    ret47  %res = call <2 x double> @llvm.aarch64.neon.famin.v2f64(<2 x double> %vn, <2 x double> %vm)48  ret <2 x double> %res49}50 51define <4 x half> @test_famax_f16(<4 x half> %vn, <4 x half> %vm) #0 {52; CHECK-LABEL: test_famax_f16:53; CHECK:       // %bb.0:54; CHECK-NEXT:    famax v0.4h, v0.4h, v1.4h55; CHECK-NEXT:    ret56  %res = call <4 x half> @llvm.aarch64.neon.famax.v4f16(<4 x half> %vn, <4 x half> %vm)57  ret <4 x half> %res58}59 60define <8 x half> @test_famax2_f16(<8 x half> %vn, <8 x half> %vm) #0 {61; CHECK-LABEL: test_famax2_f16:62; CHECK:       // %bb.0:63; CHECK-NEXT:    famax v0.8h, v0.8h, v1.8h64; CHECK-NEXT:    ret65  %res = call <8 x half> @llvm.aarch64.neon.famax.v8f16(<8 x half> %vn, <8 x half> %vm)66  ret <8 x half> %res67}68 69define <2 x float> @test_famax_f32(<2 x float> %vn, <2 x float> %vm) #0 {70; CHECK-LABEL: test_famax_f32:71; CHECK:       // %bb.0:72; CHECK-NEXT:    famax v0.2s, v0.2s, v1.2s73; CHECK-NEXT:    ret74  %res = call <2 x float> @llvm.aarch64.neon.famax.v2f32(<2 x float> %vn, <2 x float> %vm)75  ret <2 x float> %res76}77 78define <4 x float> @test_famax2_f32(<4 x float> %vn, <4 x float> %vm) #0 {79; CHECK-LABEL: test_famax2_f32:80; CHECK:       // %bb.0:81; CHECK-NEXT:    famax v0.4s, v0.4s, v1.4s82; CHECK-NEXT:    ret83  %res = call <4 x float> @llvm.aarch64.neon.famax.v4f32(<4 x float> %vn, <4 x float> %vm)84  ret <4 x float> %res85}86 87define <2 x double> @test_famax_f64(<2 x double> %vn, <2 x double> %vm) #0 {88; CHECK-LABEL: test_famax_f64:89; CHECK:       // %bb.0:90; CHECK-NEXT:    famax v0.2d, v0.2d, v1.2d91; CHECK-NEXT:    ret92  %res = call <2 x double> @llvm.aarch64.neon.famax.v2f64(<2 x double> %vn, <2 x double> %vm)93  ret <2 x double> %res94}95 96attributes #0 = { "target-features"="+neon,+faminmax" }97