Page MenuHomePhabricator

[SDAG] Disable expansion of FMINNUM/FMAXNUM to SELECT_CC for vector operands
Needs ReviewPublic

Authored by sridhar_gopinath on Sep 15 2021, 1:05 PM.

Details

Reviewers
bogner
Summary

FMINNUM/FMAXNUM is expanded to SELECT_CC when there are no-NaNs. But this expansion is
incorrect for vector operands. This fix disables this expansion for vectors.

Diff Detail

Unit TestsFailed

TimeTest
40 msx64 debian > LLVM.CodeGen/AArch64::vecreduce-fmax-legalization.ll
Script: -- : 'RUN: at line 2'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc < /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll -mtriple=aarch64-none-linux-gnu -mattr=+neon | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll --check-prefix=CHECK --check-prefix=CHECK-NOFP
40 msx64 debian > LLVM.CodeGen/AArch64::vecreduce-fmin-legalization.ll
Script: -- : 'RUN: at line 2'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc < /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll -mtriple=aarch64-none-linux-gnu -mattr=+neon | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll --check-prefix=CHECK --check-prefix=CHECK-NOFP
30 msx64 debian > LLVM.CodeGen/PowerPC::pr45709.ll
Script: -- : 'RUN: at line 2'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc -verify-machineinstrs -mtriple=powerpc64le-unknown-unknown -mcpu=pwr6 -ppc-asm-full-reg-names -mattr=-vsx -ppc-vsr-nums-as-vr < /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/PowerPC/pr45709.ll | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/PowerPC/pr45709.ll
140 msx64 debian > LLVM.CodeGen/Thumb2::mve-vecreduce-fminmax.ll
Script: -- : 'RUN: at line 2'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc -mtriple=thumbv8.1m.main-none-none-eabi -mattr=+mve.fp,+fp64 -verify-machineinstrs /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/Thumb2/mve-vecreduce-fminmax.ll -o - | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/Thumb2/mve-vecreduce-fminmax.ll --check-prefix=CHECK --check-prefix=CHECK-FP
80 msx64 windows > LLVM.CodeGen/AArch64::vecreduce-fmax-legalization.ll
Script: -- : 'RUN: at line 2'; c:\ws\w4\llvm-project\premerge-checks\build\bin\llc.exe < C:\ws\w4\llvm-project\premerge-checks\llvm\test\CodeGen\AArch64\vecreduce-fmax-legalization.ll -mtriple=aarch64-none-linux-gnu -mattr=+neon | c:\ws\w4\llvm-project\premerge-checks\build\bin\filecheck.exe C:\ws\w4\llvm-project\premerge-checks\llvm\test\CodeGen\AArch64\vecreduce-fmax-legalization.ll --check-prefix=CHECK --check-prefix=CHECK-NOFP
View Full Test Results (8 Failed)

Event Timeline

sridhar_gopinath requested review of this revision.Sep 15 2021, 1:05 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 15 2021, 1:05 PM

Why is it incorrect for vectors? Is possible to write a test for this?