brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 2cc97b0 Raw
48 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix \3; RUN:   -mcpu=pwr7 < %s | FileCheck %s4; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux \5; RUN:   -mcpu=pwr8 < %s | FileCheck %s6; RUN: llc < %s -mtriple powerpc64le-unknown-linux -debug-only=machine-scheduler \7; RUN:   2>&1 | FileCheck %s --check-prefix=LOG8 9; REQUIRES: asserts10 11define dso_local void @test_builtin_ppc_fence() {12; CHECK-LABEL: test_builtin_ppc_fence:13; CHECK:       # %bb.0: # %entry14; CHECK-NEXT:    #FENCE15; CHECK-NEXT:    blr16entry:17  call void @llvm.ppc.fence()18  ret void19}20declare void @llvm.ppc.fence()21 22; LOG: ***** MI Scheduling *****23; LOG-NEXT: motion:%bb.0 entry24; LOG: ExitSU: FENCE implicit-def dead $rm25; LOG: ***** MI Scheduling *****26; LOG-NEXT: motion:%bb.0 entry27; LOG: ExitSU: FENCE implicit-def dead $rm28;29; LOG: ***** MI Scheduling *****30; LOG-NEXT: motion:%bb.0 entry31; LOG: ExitSU: FENCE implicit-def dead $rm32; LOG: ***** MI Scheduling *****33; LOG-NEXT: motion:%bb.0 entry34; LOG: ExitSU: FENCE implicit-def dead $rm35define double @motion(double %a, double %b, double %c, double %d) {36entry:37  %0 = fdiv double %a, %b38  %1 = fdiv double %b, %d39  call void @llvm.ppc.fence()40  %2 = fdiv double %c, %d41  %3 = fdiv double %a, %c42  call void @llvm.ppc.fence()43  %4 = fadd double %0, %144  %5 = fadd double %2, %345  %6 = fsub double %4, %546  ret double %647}48