Skip to content

[ConstantFolding][Intrinsics] Missed folding of poison in a few trivially vectorizable intrinsics #146769

Open
@badumbatish

Description

@badumbatish

Per https://godbolt.org/z/68dTozY9r, we're not folding a few intrinsics that's trivially vectorizable.

Below's a list of folded and non-folded intrinsics (from godbolt)

    ; Intrinsic::abs: CORRECT   // Begin integer bit-manipulation.
  ; Intrinsic::bswap: CORRECT
  ; Intrinsic::bitreverse: CORRECT
  ; Intrinsic::ctpop: CORRECT
  ; Intrinsic::ctlz: CORRECT
  ; Intrinsic::cttz: CORRECT
  ; Intrinsic::fshl: CORRECT
  ; Intrinsic::fshr: CORRECT
  ; Intrinsic::smax: CORRECT
  ; Intrinsic::smin: CORRECT
  ; Intrinsic::umax: CORRECT
  ; Intrinsic::umin: CORRECT
  ; Intrinsic::sadd_sat: CORRECT
  ; Intrinsic::ssub_sat: CORRRECY
  ; Intrinsic::uadd_sat: CORRECT
  ; Intrinsic::usub_sat: CORRECT
  ; Intrinsic::smul_fix: CORRECT
  ; Intrinsic::smul_fix_sat: CORRECT
  ; Intrinsic::umul_fix: MISS
  ; Intrinsic::umul_fix_sat: MISS
  ; Intrinsic::sqrt: CORRECT // Begin floating-point.
  ; Intrinsic::asin: MISS
  ; Intrinsic::acos: MISS
  ; Intrinsic::atan: MISS
  ; Intrinsic::atan2: MISS
  ; Intrinsic::sin: MISS
  ; Intrinsic::cos: MISS
  ; Intrinsic::sincos: MISS
  ; Intrinsic::sincospi: MISS
  ; Intrinsic::tan: MISS
  ; Intrinsic::sinh: MISS
  ; Intrinsic::cosh: MISS
  ; Intrinsic::tanh: MISS
  ; Intrinsic::exp: MISS
  ; Intrinsic::exp10: MISS
  ; Intrinsic::exp2: MISS
  ; Intrinsic::log: MISS
  ; Intrinsic::log10: MISS
  ; Intrinsic::log2: MISS
  ; Intrinsic::fabs: CORRECT
  ; Intrinsic::minnum: CORRECT
  ; Intrinsic::maxnum: CORRECT
  ; Intrinsic::minimum: CORRECT
  ; Intrinsic::maximum: CORRECT
  ; Intrinsic::minimumnum: CORRECT
  ; Intrinsic::maximumnum: CORRECT
  ; Intrinsic::modf: MISS
  ; Intrinsic::copysign: CORRECT
  ; Intrinsic::floor: MISS
  ; Intrinsic::ceil: MISS
  ; Intrinsic::trunc: MISS
  ; Intrinsic::rint: MISS
  ; Intrinsic::nearbyint: MISS
  ; Intrinsic::round: MISS
  ; Intrinsic::roundeven: MISS
  ; Intrinsic::pow: MISS
  ; Intrinsic::fma: CORRECT
  ; Intrinsic::fmuladd: CORRECT
  ; Intrinsic::is_fpclass: CORRECT
  ; Intrinsic::powi: MISS
  ; Intrinsic::canonicalize: CORRECT
  ; Intrinsic::fptosi_sat: CORRECT
  ; Intrinsic::fptoui_sat: CORRECT
  ; Intrinsic::lrint: MISS
  ; Intrinsic::llrint: MISS
  ; Intrinsic::ucmp: CORRECT
  ; Intrinsic::scmp: CORRECT

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions