brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · 4c112cf Raw
107 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=aarch64 | FileCheck %s3 4 5define <16 x half> @sitofp_i32(<16 x i32> %a) #0 {6; CHECK-LABEL: sitofp_i32:7; CHECK:       // %bb.0:8; CHECK-NEXT:    scvtf v0.4s, v0.4s9; CHECK-NEXT:    scvtf v2.4s, v2.4s10; CHECK-NEXT:    scvtf v4.4s, v1.4s11; CHECK-NEXT:    fcvtn v0.4h, v0.4s12; CHECK-NEXT:    fcvtn v1.4h, v2.4s13; CHECK-NEXT:    scvtf v2.4s, v3.4s14; CHECK-NEXT:    fcvtn2 v0.8h, v4.4s15; CHECK-NEXT:    fcvtn2 v1.8h, v2.4s16; CHECK-NEXT:    ret17 18  %1 = sitofp <16 x i32> %a to <16 x half>19  ret <16 x half> %120}21 22 23define <16 x half> @sitofp_i64(<16 x i64> %a) #0 {24; CHECK-LABEL: sitofp_i64:25; CHECK:       // %bb.0:26; CHECK-NEXT:    scvtf v0.2d, v0.2d27; CHECK-NEXT:    scvtf v4.2d, v4.2d28; CHECK-NEXT:    scvtf v2.2d, v2.2d29; CHECK-NEXT:    scvtf v1.2d, v1.2d30; CHECK-NEXT:    scvtf v6.2d, v6.2d31; CHECK-NEXT:    scvtf v5.2d, v5.2d32; CHECK-NEXT:    scvtf v3.2d, v3.2d33; CHECK-NEXT:    fcvtn v0.2s, v0.2d34; CHECK-NEXT:    fcvtn v4.2s, v4.2d35; CHECK-NEXT:    fcvtn v2.2s, v2.2d36; CHECK-NEXT:    fcvtn v6.2s, v6.2d37; CHECK-NEXT:    fcvtn2 v0.4s, v1.2d38; CHECK-NEXT:    scvtf v1.2d, v7.2d39; CHECK-NEXT:    fcvtn2 v4.4s, v5.2d40; CHECK-NEXT:    fcvtn2 v2.4s, v3.2d41; CHECK-NEXT:    fcvtn v0.4h, v0.4s42; CHECK-NEXT:    fcvtn2 v6.4s, v1.2d43; CHECK-NEXT:    fcvtn v1.4h, v4.4s44; CHECK-NEXT:    fcvtn2 v0.8h, v2.4s45; CHECK-NEXT:    fcvtn2 v1.8h, v6.4s46; CHECK-NEXT:    ret47 48 49 50 51  %1 = sitofp <16 x i64> %a to <16 x half>52  ret <16 x half> %153}54 55 56define <16 x half> @uitofp_i32(<16 x i32> %a) #0 {57; CHECK-LABEL: uitofp_i32:58; CHECK:       // %bb.0:59; CHECK-NEXT:    ucvtf v0.4s, v0.4s60; CHECK-NEXT:    ucvtf v2.4s, v2.4s61; CHECK-NEXT:    ucvtf v4.4s, v1.4s62; CHECK-NEXT:    fcvtn v0.4h, v0.4s63; CHECK-NEXT:    fcvtn v1.4h, v2.4s64; CHECK-NEXT:    ucvtf v2.4s, v3.4s65; CHECK-NEXT:    fcvtn2 v0.8h, v4.4s66; CHECK-NEXT:    fcvtn2 v1.8h, v2.4s67; CHECK-NEXT:    ret68 69  %1 = uitofp <16 x i32> %a to <16 x half>70  ret <16 x half> %171}72 73 74define <16 x half> @uitofp_i64(<16 x i64> %a) #0 {75; CHECK-LABEL: uitofp_i64:76; CHECK:       // %bb.0:77; CHECK-NEXT:    ucvtf v0.2d, v0.2d78; CHECK-NEXT:    ucvtf v4.2d, v4.2d79; CHECK-NEXT:    ucvtf v2.2d, v2.2d80; CHECK-NEXT:    ucvtf v1.2d, v1.2d81; CHECK-NEXT:    ucvtf v6.2d, v6.2d82; CHECK-NEXT:    ucvtf v5.2d, v5.2d83; CHECK-NEXT:    ucvtf v3.2d, v3.2d84; CHECK-NEXT:    fcvtn v0.2s, v0.2d85; CHECK-NEXT:    fcvtn v4.2s, v4.2d86; CHECK-NEXT:    fcvtn v2.2s, v2.2d87; CHECK-NEXT:    fcvtn v6.2s, v6.2d88; CHECK-NEXT:    fcvtn2 v0.4s, v1.2d89; CHECK-NEXT:    ucvtf v1.2d, v7.2d90; CHECK-NEXT:    fcvtn2 v4.4s, v5.2d91; CHECK-NEXT:    fcvtn2 v2.4s, v3.2d92; CHECK-NEXT:    fcvtn v0.4h, v0.4s93; CHECK-NEXT:    fcvtn2 v6.4s, v1.2d94; CHECK-NEXT:    fcvtn v1.4h, v4.4s95; CHECK-NEXT:    fcvtn2 v0.8h, v2.4s96; CHECK-NEXT:    fcvtn2 v1.8h, v6.4s97; CHECK-NEXT:    ret98 99 100 101 102  %1 = uitofp <16 x i64> %a to <16 x half>103  ret <16 x half> %1104}105 106attributes #0 = { nounwind }107