brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · e1f1bb4 Raw
84 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=aarch64-unknown-linux-gnu < %s | FileCheck %s3 4define void @_Z10test_truncstore_f64toi32Pjd(ptr %n, double %x) {5; CHECK-LABEL: _Z10test_truncstore_f64toi32Pjd:6; CHECK:       // %bb.0:7; CHECK-NEXT:    str s0, [x0]8; CHECK-NEXT:    ret9  %i64 = bitcast double %x to i6410  %conv = trunc i64 %i64 to i3211  store i32 %conv, ptr %n, align 412  ret void13}14 15define void @_Z9test_truncstore_f64toi16Ptd(ptr %n, double %x) {16; CHECK-LABEL: _Z9test_truncstore_f64toi16Ptd:17; CHECK:       // %bb.0:18; CHECK-NEXT:    str h0, [x0]19; CHECK-NEXT:    ret20  %i64 = bitcast double %x to i6421  %conv = trunc i64 %i64 to i1622  store i16 %conv, ptr %n, align 223  ret void24}25 26define void @_Z13test_truncstore_f64toi8Phd(ptr %n, double %x) {27; CHECK-LABEL: _Z13test_truncstore_f64toi8Phd:28; CHECK:       // %bb.0:29; CHECK-NEXT:    str b0, [x0]30; CHECK-NEXT:    ret31  %i64 = bitcast double %x to i6432  %conv = trunc i64 %i64 to i833  store i8 %conv, ptr %n, align 134  ret void35}36 37define void @_Z17test_truncstore_f32toi16Ptf(ptr %n, float %x) {38; CHECK-LABEL: _Z17test_truncstore_f32toi16Ptf:39; CHECK:       // %bb.0:40; CHECK-NEXT:    str h0, [x0]41; CHECK-NEXT:    ret42  %i32 = bitcast float %x to i3243  %conv = trunc i32 %i32 to i1644  store i16 %conv, ptr %n, align 245  ret void46}47 48define void @_Z16test_truncstore_f32toi8Phf(ptr %n, float %x) {49; CHECK-LABEL: _Z16test_truncstore_f32toi8Phf:50; CHECK:       // %bb.0:51; CHECK-NEXT:    str b0, [x0]52; CHECK-NEXT:    ret53  %i32 = bitcast float %x to i3254  %conv = trunc i32 %i32 to i855  store i8 %conv, ptr %n, align 156  ret void57}58 59define void @test_truncstore_i64tof32(ptr %n, i64 %x) {60; CHECK-LABEL: test_truncstore_i64tof32:61; CHECK:       // %bb.0:62; CHECK-NEXT:    fmov d0, x163; CHECK-NEXT:    fcvt s0, d064; CHECK-NEXT:    str s0, [x0]65; CHECK-NEXT:    ret66  %d = bitcast i64 %x to double67  %f = fptrunc double %d to float68  store float %f, ptr %n, align 469  ret void70}71 72define void @test_truncstore_i32tof16(ptr %n, i32 %x) {73; CHECK-LABEL: test_truncstore_i32tof16:74; CHECK:       // %bb.0:75; CHECK-NEXT:    fmov s0, w176; CHECK-NEXT:    fcvt h0, s077; CHECK-NEXT:    str h0, [x0]78; CHECK-NEXT:    ret79  %f = bitcast i32 %x to float80  %h = fptrunc float %f to half81  store half %h, ptr %n, align 282  ret void83}84