brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · a38f4bd Raw
56 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; RUN: opt < %s -S -mtriple=aarch64 -vector-library=ArmPL -passes=slp-vectorizer | FileCheck %s3 4@a = common global ptr null, align 85 6define void @frem_v2double() {7; CHECK-LABEL: define void @frem_v2double() {8; CHECK-NEXT:  entry:9; CHECK-NEXT:    [[TMP0:%.*]] = load <2 x double>, ptr @a, align 810; CHECK-NEXT:    [[TMP1:%.*]] = load <2 x double>, ptr @a, align 811; CHECK-NEXT:    [[TMP2:%.*]] = frem <2 x double> [[TMP0]], [[TMP1]]12; CHECK-NEXT:    store <2 x double> [[TMP2]], ptr @a, align 813; CHECK-NEXT:    ret void14;15entry:16  %a0 = load double, ptr getelementptr inbounds (double, ptr @a, i64 0), align 817  %a1 = load double, ptr getelementptr inbounds (double, ptr @a, i64 1), align 818  %b0 = load double, ptr getelementptr inbounds (double, ptr @a, i64 0), align 819  %b1 = load double, ptr getelementptr inbounds (double, ptr @a, i64 1), align 820  %r0 = frem double %a0, %b021  %r1 = frem double %a1, %b122  store double %r0, ptr getelementptr inbounds (double, ptr @a, i64 0), align 823  store double %r1, ptr getelementptr inbounds (double, ptr @a, i64 1), align 824  ret void25}26 27define void @frem_v4float() {28; CHECK-LABEL: define void @frem_v4float() {29; CHECK-NEXT:  entry:30; CHECK-NEXT:    [[TMP0:%.*]] = load <4 x float>, ptr @a, align 831; CHECK-NEXT:    [[TMP1:%.*]] = load <4 x float>, ptr @a, align 832; CHECK-NEXT:    [[TMP2:%.*]] = frem <4 x float> [[TMP0]], [[TMP1]]33; CHECK-NEXT:    store <4 x float> [[TMP2]], ptr @a, align 834; CHECK-NEXT:    ret void35;36entry:37  %a0 = load float, ptr getelementptr inbounds (float, ptr @a, i64 0), align 838  %a1 = load float, ptr getelementptr inbounds (float, ptr @a, i64 1), align 839  %a2 = load float, ptr getelementptr inbounds (float, ptr @a, i64 2), align 840  %a3 = load float, ptr getelementptr inbounds (float, ptr @a, i64 3), align 841  %b0 = load float, ptr getelementptr inbounds (float, ptr @a, i64 0), align 842  %b1 = load float, ptr getelementptr inbounds (float, ptr @a, i64 1), align 843  %b2 = load float, ptr getelementptr inbounds (float, ptr @a, i64 2), align 844  %b3 = load float, ptr getelementptr inbounds (float, ptr @a, i64 3), align 845  %r0 = frem float %a0, %b046  %r1 = frem float %a1, %b147  %r2 = frem float %a2, %b248  %r3 = frem float %a3, %b349  store float %r0, ptr getelementptr inbounds (float, ptr @a, i64 0), align 850  store float %r1, ptr getelementptr inbounds (float, ptr @a, i64 1), align 851  store float %r2, ptr getelementptr inbounds (float, ptr @a, i64 2), align 852  store float %r3, ptr getelementptr inbounds (float, ptr @a, i64 3), align 853  ret void54}55 56