================ @@ -79,29 +91,152 @@ _Complex float pragma_on_div(_Complex float a, _Complex float b) { // LMTD-NEXT: fdiv float // LMTD-NEXT: fdiv float - // FRTRN: fmul float - // FRTRN-NEXT: fmul float - // FRTRN-NEXT: fadd float - // FRTRN-NEXT: fmul float - // FRTRN-NEXT: fmul float - // FRTRN-NEXT: fadd float - // FRTRN-NEXT: fmul float - // FRTRN-NEXT: fmul float - // FRTRN-NEXT: fsub float - // FRTRN-NEXT: fdiv float - // FRTRN-NEXT: fdiv float + // SMITH: fmul float + // SMITH-NEXT: fmul float + // SMITH-NEXT: fadd float + // SMITH-NEXT: fmul float + // SMITH-NEXT: fmul float + // SMITH-NEXT: fadd float + // SMITH-NEXT: fmul float + // SMITH-NEXT: fmul float + // SMITH-NEXT: fsub float + // SMITH-NEXT: fdiv float + // SMITH-NEXT: fdiv float + + // EXTND: fpext float {{.*}} to double + // EXTND: fpext float {{.*}} to double + // EXTND: fmul double + // EXTND: fmul double + // EXTND: fadd double + // EXTND: fmul double + // EXTND: fmul double + // EXTND: fadd double + // EXTND: fmul double + // EXTND: fmul double + // EXTND: fsub double + // EXTND: fdiv double + // EXTND: fdiv double + // EXTND: fptrunc double + // EXTND: fptrunc double return a / b; } _Complex float pragma_off_div(_Complex float a, _Complex float b) { #pragma STDC CX_LIMITED_RANGE OFF // LABEL: define {{.*}} @pragma_off_div( + // FULL: call {{.*}} @__divsc3 // LMTD: call {{.*}} @__divsc3 - // FRTRN: call {{.*}} @__divsc3 + // SMITH: call {{.*}} @__divsc3 + + // EXTND: call {{.*}} @__divdc3 + + return a / b; +} + +_Complex float pragma_default_mul(_Complex float a, _Complex float b) { +#pragma STDC CX_LIMITED_RANGE DEFAULT + // LABEL: define {{.*}} @pragma_on_mul( + + // FULL: fmul float + // FULL-NEXT: fmul float + // FULL-NEXT: fmul float + // FULL-NEXT: fmul float + // FULL-NEXT: fsub float + // FULL-NEXT: fadd float ---------------- andykaylor wrote:
Shouldn't there be a check for NaN comparisons and a library call in this case? https://github.com/llvm/llvm-project/pull/81514 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits