/
redgpu
/
clspv
Обзор
Документация
Войти
/
redgpu
/
clspv
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test/LongVectorLowering/fastmathflags.ll
102 строки
2 KB
Marco Antognini
Lower CmpInst, SelectInst, and OpenCL select() (#686)
15 дек 2020, 19:39
Не верифицирован
15 дек 2020, 19:39
67791d3
Код
Авторство
О чём код?
; RUN: clspv-opt --LongVectorLowering %s -o %t ; RUN: FileCheck %s < %t target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024" target triple = "spir-unknown-unknown" declare <8 x float> @llvm.fmuladd.v8f32(<8 x float>, <8 x float>, <8 x float>) define spir_func <8 x float> @test(<8 x float> %x, <8 x float> %y, <8 x float> %z) { entry: %a = fadd fast <8 x float> %x, %y %b = fneg nnan <8 x float> %a %c = fsub ninf <8 x float> %b, %z %d = fmul nsz <8 x float> %c, %a %e = fdiv arcp contract <8 x float> %d, %b %f = frem reassoc <8 x float> %e, %c %g = call fast <8 x float> @llvm.fmuladd.v8f32(<8 x float> %d, <8 x float> %e, <8 x float> %f) %h = fcmp fast oeq <8 x float> %x, %g %i = select fast <8 x i1> %h, <8 x float> %y, <8 x float> %z ret <8 x float> %g } ; CHECK: fadd fast ; CHECK: fadd fast ; CHECK: fadd fast ; CHECK: fadd fast ; CHECK: fadd fast ; CHECK: fadd fast ; CHECK: fadd fast ; CHECK: fadd fast ; CHECK: fneg nnan ; CHECK: fneg nnan ; CHECK: fneg nnan ; CHECK: fneg nnan ; CHECK: fneg nnan ; CHECK: fneg nnan ; CHECK: fneg nnan ; CHECK: fneg nnan ; CHECK: fsub ninf ; CHECK: fsub ninf ; CHECK: fsub ninf ; CHECK: fsub ninf ; CHECK: fsub ninf ; CHECK: fsub ninf ; CHECK: fsub ninf ; CHECK: fsub ninf ; CHECK: fmul nsz ; CHECK: fmul nsz ; CHECK: fmul nsz ; CHECK: fmul nsz ; CHECK: fmul nsz ; CHECK: fmul nsz ; CHECK: fmul nsz ; CHECK: fmul nsz ; CHECK: fdiv arcp contract ; CHECK: fdiv arcp contract ; CHECK: fdiv arcp contract ; CHECK: fdiv arcp contract ; CHECK: fdiv arcp contract ; CHECK: fdiv arcp contract ; CHECK: fdiv arcp contract ; CHECK: fdiv arcp contract ; CHECK: frem reassoc ; CHECK: frem reassoc ; CHECK: frem reassoc ; CHECK: frem reassoc ; CHECK: frem reassoc ; CHECK: frem reassoc ; CHECK: frem reassoc ; CHECK: frem reassoc ; CHECK: call fast float @llvm.fmuladd.f32 ; CHECK: call fast float @llvm.fmuladd.f32 ; CHECK: call fast float @llvm.fmuladd.f32 ; CHECK: call fast float @llvm.fmuladd.f32 ; CHECK: call fast float @llvm.fmuladd.f32 ; CHECK: call fast float @llvm.fmuladd.f32 ; CHECK: call fast float @llvm.fmuladd.f32 ; CHECK: call fast float @llvm.fmuladd.f32 ; CHECK: fcmp fast ; CHECK: fcmp fast ; CHECK: fcmp fast ; CHECK: fcmp fast ; CHECK: fcmp fast ; CHECK: fcmp fast ; CHECK: fcmp fast ; CHECK: fcmp fast ; CHECK: select fast ; CHECK: select fast ; CHECK: select fast ; CHECK: select fast ; CHECK: select fast ; CHECK: select fast ; CHECK: select fast ; CHECK: select fast