; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
; RUN: opt -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -S < %s | FileCheck %s --check-prefixes=CHECK,TUNIT

define float @ret_fmul_ieee_nonan__nonan(float nofpclass(nan) %arg0, float nofpclass(nan) %arg1) #0 {
; CHECK-LABEL: define float @ret_fmul_ieee_nonan__nonan
; CHECK-SAME: (float nofpclass(nan) [[ARG0:%.*]], float nofpclass(nan) [[ARG1:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nonan_nozero__nonan_nozero(float nofpclass(nan zero) %arg0, float nofpclass(nan zero) %arg1) #0 {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_nonan_nozero__nonan_nozero
; CHECK-SAME: (float nofpclass(nan zero) [[ARG0:%.*]], float nofpclass(nan zero) [[ARG1:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_daz_nonan_nozero__nonan_nozero(float nofpclass(nan zero) %arg0, float nofpclass(nan zero) %arg1) #1 {
; CHECK-LABEL: define float @ret_fmul_daz_nonan_nozero__nonan_nozero
; CHECK-SAME: (float nofpclass(nan zero) [[ARG0:%.*]], float nofpclass(nan zero) [[ARG1:%.*]]) #[[ATTR1:[0-9]+]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_dapz_nonan_nozero__nonan_nozero(float nofpclass(nan zero) %arg0, float nofpclass(nan zero) %arg1) #2 {
; CHECK-LABEL: define float @ret_fmul_dapz_nonan_nozero__nonan_nozero
; CHECK-SAME: (float nofpclass(nan zero) [[ARG0:%.*]], float nofpclass(nan zero) [[ARG1:%.*]]) #[[ATTR2:[0-9]+]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_dynamic_nonan_nozero__nonan_nozero(float nofpclass(nan zero) %arg0, float nofpclass(nan zero) %arg1) #3 {
; CHECK-LABEL: define float @ret_fmul_dynamic_nonan_nozero__nonan_nozero
; CHECK-SAME: (float nofpclass(nan zero) [[ARG0:%.*]], float nofpclass(nan zero) [[ARG1:%.*]]) #[[ATTR3:[0-9]+]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nonan_noinf__nonan_noinf(float nofpclass(nan inf) %arg0, float nofpclass(nan inf) %arg1) #0 {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_nonan_noinf__nonan_noinf
; CHECK-SAME: (float nofpclass(nan inf) [[ARG0:%.*]], float nofpclass(nan inf) [[ARG1:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nonan_nozero__nonan_noinf(float nofpclass(nan zero) %arg0, float nofpclass(nan inf) %arg1) #0 {
; CHECK-LABEL: define float @ret_fmul_ieee_nonan_nozero__nonan_noinf
; CHECK-SAME: (float nofpclass(nan zero) [[ARG0:%.*]], float nofpclass(nan inf) [[ARG1:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nonan_noinf__nonan_nozero(float nofpclass(nan inf) %arg0, float nofpclass(nan zero) %arg1) #0 {
; CHECK-LABEL: define float @ret_fmul_ieee_nonan_noinf__nonan_nozero
; CHECK-SAME: (float nofpclass(nan inf) [[ARG0:%.*]], float nofpclass(nan zero) [[ARG1:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nonan_noinf__nonan_noposzero(float nofpclass(nan inf) %arg0, float nofpclass(nan pzero) %arg1) #0 {
; CHECK-LABEL: define float @ret_fmul_ieee_nonan_noinf__nonan_noposzero
; CHECK-SAME: (float nofpclass(nan inf) [[ARG0:%.*]], float nofpclass(nan pzero) [[ARG1:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nonan_noposzero__nonan_noinf(float nofpclass(nan pzero) %arg0, float nofpclass(nan inf) %arg1) #0 {
; CHECK-LABEL: define float @ret_fmul_ieee_nonan_noposzero__nonan_noinf
; CHECK-SAME: (float nofpclass(nan pzero) [[ARG0:%.*]], float nofpclass(nan inf) [[ARG1:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nonan_nozero_nosub__nonan_nozero_nosub(float nofpclass(nan zero sub) %arg0, float nofpclass(nan zero sub) %arg1) #0 {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_nonan_nozero_nosub__nonan_nozero_nosub
; CHECK-SAME: (float nofpclass(nan zero sub) [[ARG0:%.*]], float nofpclass(nan zero sub) [[ARG1:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

; Denormal mode doesn't matter because sources are nofpclass(sub)
define float @ret_fmul_daz_nonan_nozero_nosub__nonan_nozero_nosub(float nofpclass(nan zero sub) %arg0, float nofpclass(nan zero sub) %arg1) #1 {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_daz_nonan_nozero_nosub__nonan_nozero_nosub
; CHECK-SAME: (float nofpclass(nan zero sub) [[ARG0:%.*]], float nofpclass(nan zero sub) [[ARG1:%.*]]) #[[ATTR1]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_dapz_nonan_nozero_nosub__nonan_nozero_nosub(float nofpclass(nan zero sub) %arg0, float nofpclass(nan zero sub) %arg1) #2 {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_dapz_nonan_nozero_nosub__nonan_nozero_nosub
; CHECK-SAME: (float nofpclass(nan zero sub) [[ARG0:%.*]], float nofpclass(nan zero sub) [[ARG1:%.*]]) #[[ATTR2]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_dynamic_nonan_nozero_nosub__nonan_nozero_nosub(float nofpclass(nan zero sub) %arg0, float nofpclass(nan zero sub) %arg1) #3 {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_dynamic_nonan_nozero_nosub__nonan_nozero_nosub
; CHECK-SAME: (float nofpclass(nan zero sub) [[ARG0:%.*]], float nofpclass(nan zero sub) [[ARG1:%.*]]) #[[ATTR3]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

; Missing no-subnormal on lhs
define float @ret_fmul_daz_nonan_nozero__nonan_nozero_nosub(float nofpclass(nan zero) %arg0, float nofpclass(nan zero sub) %arg1) #1 {
; CHECK-LABEL: define float @ret_fmul_daz_nonan_nozero__nonan_nozero_nosub
; CHECK-SAME: (float nofpclass(nan zero) [[ARG0:%.*]], float nofpclass(nan zero sub) [[ARG1:%.*]]) #[[ATTR1]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

; Missing no-subnormal on lhs
define float @ret_fmul_daz_nonan_nozero_nosub__nonan_nozero(float nofpclass(nan zero sub) %arg0, float nofpclass(nan zero) %arg1) #1 {
; CHECK-LABEL: define float @ret_fmul_daz_nonan_nozero_nosub__nonan_nozero
; CHECK-SAME: (float nofpclass(nan zero sub) [[ARG0:%.*]], float nofpclass(nan zero) [[ARG1:%.*]]) #[[ATTR1]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_square(float %arg) #0 {
; CHECK-LABEL: define nofpclass(ninf nzero nsub nnorm) float @ret_fmul_square
; CHECK-SAME: (float [[ARG:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG]], [[ARG]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg, %arg
  ret float %fmul
}

define float @ret_fmul_square_nnan(float nofpclass(nan) %arg) #0 {
; CHECK-LABEL: define nofpclass(ninf nzero nsub nnorm) float @ret_fmul_square_nnan
; CHECK-SAME: (float nofpclass(nan) [[ARG:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG]], [[ARG]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg, %arg
  ret float %fmul
}

define float @ret_fmul_square_nnan_nzero(float nofpclass(nan zero) %arg) #0 {
; CHECK-LABEL: define nofpclass(nan ninf nzero nsub nnorm) float @ret_fmul_square_nnan_nzero
; CHECK-SAME: (float nofpclass(nan zero) [[ARG:%.*]]) #[[ATTR0]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG]], [[ARG]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg, %arg
  ret float %fmul
}

define float @ret_fmul_ieee_inf(float %arg) {
; CHECK-LABEL: define float @ret_fmul_ieee_inf
; CHECK-SAME: (float [[ARG:%.*]]) #[[ATTR4:[0-9]+]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG]], 0x7FF0000000000000
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg, 0x7FF0000000000000
  ret float %fmul
}

define float @ret_fmul_ieee_any__noinf(float %arg0, float nofpclass(inf) %arg1) {
; CHECK-LABEL: define float @ret_fmul_ieee_any__noinf
; CHECK-SAME: (float [[ARG0:%.*]], float nofpclass(inf) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_noinf__any(float nofpclass(inf) %arg0, float %arg1) {
; CHECK-LABEL: define float @ret_fmul_ieee_noinf__any
; CHECK-SAME: (float nofpclass(inf) [[ARG0:%.*]], float [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_noinf__noinf(float nofpclass(inf) %arg0, float nofpclass(inf) %arg1) {
; CHECK-LABEL: define float @ret_fmul_ieee_noinf__noinf
; CHECK-SAME: (float nofpclass(inf) [[ARG0:%.*]], float nofpclass(inf) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_any__noinf_nonan(float %arg0, float nofpclass(inf nan) %arg1) {
; CHECK-LABEL: define float @ret_fmul_ieee_any__noinf_nonan
; CHECK-SAME: (float [[ARG0:%.*]], float nofpclass(nan inf) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_noinf_nonan__any(float nofpclass(inf nan) %arg0, float %arg1) {
; CHECK-LABEL: define float @ret_fmul_ieee_noinf_nonan__any
; CHECK-SAME: (float nofpclass(nan inf) [[ARG0:%.*]], float [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_noinf_nonan__noinf_noann(float nofpclass(inf nan) %arg0, float nofpclass(inf nan) %arg1) {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_noinf_nonan__noinf_noann
; CHECK-SAME: (float nofpclass(nan inf) [[ARG0:%.*]], float nofpclass(nan inf) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nozero__noinf_nonan(float nofpclass(zero) %arg0, float nofpclass(inf nan) %arg1) {
; CHECK-LABEL: define float @ret_fmul_ieee_nozero__noinf_nonan
; CHECK-SAME: (float nofpclass(zero) [[ARG0:%.*]], float nofpclass(nan inf) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_noinf_nonan__nozero(float nofpclass(inf nan) %arg0, float nofpclass(zero) %arg1) {
; CHECK-LABEL: define float @ret_fmul_ieee_noinf_nonan__nozero
; CHECK-SAME: (float nofpclass(nan inf) [[ARG0:%.*]], float nofpclass(zero) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nozero_nonan__noinf_nonan(float nofpclass(zero nan) %arg0, float nofpclass(inf nan) %arg1) {
; CHECK-LABEL: define float @ret_fmul_ieee_nozero_nonan__noinf_nonan
; CHECK-SAME: (float nofpclass(nan zero) [[ARG0:%.*]], float nofpclass(nan inf) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_noinf_nonan__nozero_nonan(float nofpclass(inf nan) %arg0, float nofpclass(zero nan) %arg1) {
; CHECK-LABEL: define float @ret_fmul_ieee_noinf_nonan__nozero_nonan
; CHECK-SAME: (float nofpclass(nan inf) [[ARG0:%.*]], float nofpclass(nan zero) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nozero_nonan_noinf__noinf_nonan(float nofpclass(zero nan inf) %arg0, float nofpclass(inf nan) %arg1) {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_nozero_nonan_noinf__noinf_nonan
; CHECK-SAME: (float nofpclass(nan inf zero) [[ARG0:%.*]], float nofpclass(nan inf) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_noinf_nonan__nozero_nonan_noinf(float nofpclass(inf nan) %arg0, float nofpclass(zero nan inf) %arg1) {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_noinf_nonan__nozero_nonan_noinf
; CHECK-SAME: (float nofpclass(nan inf) [[ARG0:%.*]], float nofpclass(nan inf zero) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nozero_nonan_noinf__nozero_nonan(float nofpclass(zero nan inf) %arg0, float nofpclass(zero nan) %arg1) {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_nozero_nonan_noinf__nozero_nonan
; CHECK-SAME: (float nofpclass(nan inf zero) [[ARG0:%.*]], float nofpclass(nan zero) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nozero_nonan__nozero_nonan_noinf(float nofpclass(zero nan) %arg0, float nofpclass(zero nan inf) %arg1) {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_nozero_nonan__nozero_nonan_noinf
; CHECK-SAME: (float nofpclass(nan zero) [[ARG0:%.*]], float nofpclass(nan inf zero) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nozero_nonan_noinf__nonan(float nofpclass(zero nan inf) %arg0, float nofpclass(nan) %arg1) {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_nozero_nonan_noinf__nonan
; CHECK-SAME: (float nofpclass(nan inf zero) [[ARG0:%.*]], float nofpclass(nan) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

define float @ret_fmul_ieee_nonan__nozero_nonan_noinf(float nofpclass(nan) %arg0, float nofpclass(zero nan inf) %arg1) {
; CHECK-LABEL: define nofpclass(nan) float @ret_fmul_ieee_nonan__nozero_nonan_noinf
; CHECK-SAME: (float nofpclass(nan) [[ARG0:%.*]], float nofpclass(nan inf zero) [[ARG1:%.*]]) #[[ATTR4]] {
; CHECK-NEXT:    [[FMUL:%.*]] = fmul float [[ARG0]], [[ARG1]]
; CHECK-NEXT:    ret float [[FMUL]]
;
  %fmul = fmul float %arg0, %arg1
  ret float %fmul
}

attributes #0 = { "denormal-fp-math"="ieee,ieee" }
attributes #1 = { "denormal-fp-math"="ieee,preserve-sign" }
attributes #2 = { "denormal-fp-math"="ieee,positive-zero" }
attributes #3 = { "denormal-fp-math"="ieee,dynamic" }
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
; TUNIT: {{.*}}
