@@ -2902,35 +2902,36 @@ define void @log2_f32(ptr noalias %in.ptr, ptr noalias %out.ptr) {
29022902 ret void
29032903}
29042904
2905+ ; FIXME: Re-enable modf[f] vectorization once aliasing issues due to output
2906+ ; pointers have been resolved.
2907+
29052908declare double @modf (double , ptr )
29062909declare float @modff (float , ptr )
29072910
29082911define void @modf_f64 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
29092912; SLEEF-NEON-LABEL: define void @modf_f64
29102913; SLEEF-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2911- ; SLEEF-NEON: [[TMP5 :%.*]] = call <2 x double> @_ZGVnN2vl8_modf(<2 x double> [[WIDE_LOAD :%.*]], ptr [[TMP4 :%.*]])
2914+ ; SLEEF-NEON: [[DATA :%.*]] = call double @modf( double [[NUM :%.*]], ptr [[GEPB :%.*]])
29122915;
29132916; SLEEF-SVE-LABEL: define void @modf_f64
29142917; SLEEF-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2915- ; SLEEF-SVE: [[DATA:%.*]] = call double @modf(double [[NUM:%.*]], ptr [[GEPB:%.*]]) #[[ATTR4:[0-9]+]]
2918+ ; SLEEF-SVE: [[DATA:%.*]] = call double @modf(double [[NUM:%.*]], ptr [[GEPB:%.*]])
29162919;
29172920; SLEEF-SVE-NOPRED-LABEL: define void @modf_f64
29182921; SLEEF-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2919- ; SLEEF-SVE-NOPRED: [[TMP17:%.*]] = call <vscale x 2 x double> @_ZGVsNxvl8_modf(<vscale x 2 x double> [[WIDE_LOAD:%.*]], ptr [[TMP16:%.*]])
2920- ; SLEEF-SVE-NOPRED: [[DATA:%.*]] = call double @modf(double [[NUM:%.*]], ptr [[GEPB:%.*]]) #[[ATTR64:[0-9]+]]
2922+ ; SLEEF-SVE-NOPRED: [[DATA:%.*]] = call double @modf(double [[NUM:%.*]], ptr [[GEPB:%.*]])
29212923;
29222924; ARMPL-NEON-LABEL: define void @modf_f64
29232925; ARMPL-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2924- ; ARMPL-NEON: [[TMP5 :%.*]] = call <2 x double> @armpl_vmodfq_f64(<2 x double> [[WIDE_LOAD :%.*]], ptr [[TMP4 :%.*]])
2926+ ; ARMPL-NEON: [[DATA :%.*]] = call double @modf( double [[NUM :%.*]], ptr [[GEPB :%.*]])
29252927;
29262928; ARMPL-SVE-LABEL: define void @modf_f64
29272929; ARMPL-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2928- ; ARMPL-SVE: [[TMP23 :%.*]] = call <vscale x 2 x double> @armpl_svmodf_f64_x(<vscale x 2 x double> [[WIDE_MASKED_LOAD :%.*]], ptr [[TMP22:%.*]], <vscale x 2 x i1> [[ACTIVE_LANE_MASK :%.*]])
2930+ ; ARMPL-SVE: [[DATA :%.*]] = call double @modf( double [[NUM :%.*]], ptr [[GEPB :%.*]])
29292931;
29302932; ARMPL-SVE-NOPRED-LABEL: define void @modf_f64
29312933; ARMPL-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2932- ; ARMPL-SVE-NOPRED: [[TMP17:%.*]] = call <vscale x 2 x double> @armpl_svmodf_f64_x(<vscale x 2 x double> [[WIDE_LOAD:%.*]], ptr [[TMP16:%.*]], <vscale x 2 x i1> shufflevector (<vscale x 2 x i1> insertelement (<vscale x 2 x i1> poison, i1 true, i64 0), <vscale x 2 x i1> poison, <vscale x 2 x i32> zeroinitializer))
2933- ; ARMPL-SVE-NOPRED: [[DATA:%.*]] = call double @modf(double [[NUM:%.*]], ptr [[GEPB:%.*]]) #[[ATTR64:[0-9]+]]
2934+ ; ARMPL-SVE-NOPRED: [[DATA:%.*]] = call double @modf(double [[NUM:%.*]], ptr [[GEPB:%.*]])
29342935;
29352936entry:
29362937 br label %for.body
@@ -2954,29 +2955,27 @@ for.cond.cleanup:
29542955define void @modf_f32 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
29552956; SLEEF-NEON-LABEL: define void @modf_f32
29562957; SLEEF-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2957- ; SLEEF-NEON: [[TMP5 :%.*]] = call <4 x float> @_ZGVnN4vl4_modff(<4 x float> [[WIDE_LOAD :%.*]], ptr [[TMP4 :%.*]])
2958+ ; SLEEF-NEON: [[DATA :%.*]] = call float @modff( float [[NUM :%.*]], ptr [[GEPB :%.*]])
29582959;
29592960; SLEEF-SVE-LABEL: define void @modf_f32
29602961; SLEEF-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2961- ; SLEEF-SVE: [[DATA:%.*]] = call float @modff(float [[NUM:%.*]], ptr [[GEPB:%.*]]) #[[ATTR5:[0-9]+]]
2962+ ; SLEEF-SVE: [[DATA:%.*]] = call float @modff(float [[NUM:%.*]], ptr [[GEPB:%.*]])
29622963;
29632964; SLEEF-SVE-NOPRED-LABEL: define void @modf_f32
29642965; SLEEF-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2965- ; SLEEF-SVE-NOPRED: [[TMP17:%.*]] = call <vscale x 4 x float> @_ZGVsNxvl4_modff(<vscale x 4 x float> [[WIDE_LOAD:%.*]], ptr [[TMP16:%.*]])
2966- ; SLEEF-SVE-NOPRED: [[DATA:%.*]] = call float @modff(float [[NUM:%.*]], ptr [[GEPB:%.*]]) #[[ATTR65:[0-9]+]]
2966+ ; SLEEF-SVE-NOPRED: [[DATA:%.*]] = call float @modff(float [[NUM:%.*]], ptr [[GEPB:%.*]])
29672967;
29682968; ARMPL-NEON-LABEL: define void @modf_f32
29692969; ARMPL-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2970- ; ARMPL-NEON: [[TMP5 :%.*]] = call <4 x float> @armpl_vmodfq_f32(<4 x float> [[WIDE_LOAD :%.*]], ptr [[TMP4 :%.*]])
2970+ ; ARMPL-NEON: [[DATA :%.*]] = call float @modff( float [[NUM :%.*]], ptr [[GEPB :%.*]])
29712971;
29722972; ARMPL-SVE-LABEL: define void @modf_f32
29732973; ARMPL-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2974- ; ARMPL-SVE: [[TMP23 :%.*]] = call <vscale x 4 x float> @armpl_svmodf_f32_x(<vscale x 4 x float> [[WIDE_MASKED_LOAD :%.*]], ptr [[TMP22:%.*]], <vscale x 4 x i1> [[ACTIVE_LANE_MASK :%.*]])
2974+ ; ARMPL-SVE: [[DATA :%.*]] = call float @modff( float [[NUM :%.*]], ptr [[GEPB :%.*]])
29752975;
29762976; ARMPL-SVE-NOPRED-LABEL: define void @modf_f32
29772977; ARMPL-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
2978- ; ARMPL-SVE-NOPRED: [[TMP17:%.*]] = call <vscale x 4 x float> @armpl_svmodf_f32_x(<vscale x 4 x float> [[WIDE_LOAD:%.*]], ptr [[TMP16:%.*]], <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
2979- ; ARMPL-SVE-NOPRED: [[DATA:%.*]] = call float @modff(float [[NUM:%.*]], ptr [[GEPB:%.*]]) #[[ATTR65:[0-9]+]]
2978+ ; ARMPL-SVE-NOPRED: [[DATA:%.*]] = call float @modff(float [[NUM:%.*]], ptr [[GEPB:%.*]])
29802979;
29812980entry:
29822981 br label %for.body
@@ -3276,35 +3275,36 @@ define void @sin_f32(ptr noalias %in.ptr, ptr noalias %out.ptr) {
32763275 ret void
32773276}
32783277
3278+ ; FIXME: Re-enable sincos[f] vectorization once aliasing issues with output
3279+ ; pointers have been resolved.
3280+
32793281declare void @sincos (double , ptr , ptr )
32803282declare void @sincosf (float , ptr , ptr )
32813283
32823284define void @sincos_f64 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
32833285; SLEEF-NEON-LABEL: define void @sincos_f64
32843286; SLEEF-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3285- ; SLEEF-NEON: call void @_ZGVnN2vl8l8_sincos(<2 x double> [[WIDE_LOAD :%.*]], ptr [[TMP5 :%.*]], ptr [[TMP6 :%.*]])
3287+ ; SLEEF-NEON: call void @sincos( double [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
32863288;
32873289; SLEEF-SVE-LABEL: define void @sincos_f64
32883290; SLEEF-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3289- ; SLEEF-SVE: call void @sincos(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR6:[0-9]+]]
3291+ ; SLEEF-SVE: call void @sincos(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
32903292;
32913293; SLEEF-SVE-NOPRED-LABEL: define void @sincos_f64
32923294; SLEEF-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3293- ; SLEEF-SVE-NOPRED: call void @_ZGVsNxvl8l8_sincos(<vscale x 2 x double> [[WIDE_LOAD:%.*]], ptr [[TMP17:%.*]], ptr [[TMP18:%.*]])
3294- ; SLEEF-SVE-NOPRED: call void @sincos(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR72:[0-9]+]]
3295+ ; SLEEF-SVE-NOPRED: call void @sincos(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
32953296;
32963297; ARMPL-NEON-LABEL: define void @sincos_f64
32973298; ARMPL-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3298- ; ARMPL-NEON: call void @armpl_vsincosq_f64(<2 x double> [[WIDE_LOAD :%.*]], ptr [[TMP5 :%.*]], ptr [[TMP6 :%.*]])
3299+ ; ARMPL-NEON: call void @sincos( double [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
32993300;
33003301; ARMPL-SVE-LABEL: define void @sincos_f64
33013302; ARMPL-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3302- ; ARMPL-SVE: call void @armpl_svsincos_f64_x(<vscale x 2 x double> [[WIDE_MASKED_LOAD :%.*]], ptr [[TMP23 :%.*]], ptr [[TMP24:%.*]], <vscale x 2 x i1> [[ACTIVE_LANE_MASK :%.*]])
3303+ ; ARMPL-SVE: call void @sincos( double [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
33033304;
33043305; ARMPL-SVE-NOPRED-LABEL: define void @sincos_f64
33053306; ARMPL-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3306- ; ARMPL-SVE-NOPRED: call void @armpl_svsincos_f64_x(<vscale x 2 x double> [[WIDE_LOAD:%.*]], ptr [[TMP17:%.*]], ptr [[TMP18:%.*]], <vscale x 2 x i1> shufflevector (<vscale x 2 x i1> insertelement (<vscale x 2 x i1> poison, i1 true, i64 0), <vscale x 2 x i1> poison, <vscale x 2 x i32> zeroinitializer))
3307- ; ARMPL-SVE-NOPRED: call void @sincos(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR72:[0-9]+]]
3307+ ; ARMPL-SVE-NOPRED: call void @sincos(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
33083308;
33093309entry:
33103310 br label %for.body
@@ -3327,29 +3327,27 @@ for.cond.cleanup:
33273327define void @sincos_f32 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
33283328; SLEEF-NEON-LABEL: define void @sincos_f32
33293329; SLEEF-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3330- ; SLEEF-NEON: call void @_ZGVnN4vl4l4_sincosf(<4 x float> [[WIDE_LOAD :%.*]], ptr [[TMP5 :%.*]], ptr [[TMP6 :%.*]])
3330+ ; SLEEF-NEON: call void @sincosf( float [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
33313331;
33323332; SLEEF-SVE-LABEL: define void @sincos_f32
33333333; SLEEF-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3334- ; SLEEF-SVE: call void @sincosf(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR7:[0-9]+]]
3334+ ; SLEEF-SVE: call void @sincosf(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
33353335;
33363336; SLEEF-SVE-NOPRED-LABEL: define void @sincos_f32
33373337; SLEEF-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3338- ; SLEEF-SVE-NOPRED: call void @_ZGVsNxvl4l4_sincosf(<vscale x 4 x float> [[WIDE_LOAD:%.*]], ptr [[TMP17:%.*]], ptr [[TMP18:%.*]])
3339- ; SLEEF-SVE-NOPRED: call void @sincosf(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR73:[0-9]+]]
3338+ ; SLEEF-SVE-NOPRED: call void @sincosf(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
33403339;
33413340; ARMPL-NEON-LABEL: define void @sincos_f32
33423341; ARMPL-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3343- ; ARMPL-NEON: call void @armpl_vsincosq_f32(<4 x float> [[WIDE_LOAD :%.*]], ptr [[TMP5 :%.*]], ptr [[TMP6 :%.*]])
3342+ ; ARMPL-NEON: call void @sincosf( float [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
33443343;
33453344; ARMPL-SVE-LABEL: define void @sincos_f32
33463345; ARMPL-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3347- ; ARMPL-SVE: call void @armpl_svsincos_f32_x(<vscale x 4 x float> [[WIDE_MASKED_LOAD :%.*]], ptr [[TMP23 :%.*]], ptr [[TMP24:%.*]], <vscale x 4 x i1> [[ACTIVE_LANE_MASK :%.*]])
3346+ ; ARMPL-SVE: call void @sincosf( float [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
33483347;
33493348; ARMPL-SVE-NOPRED-LABEL: define void @sincos_f32
33503349; ARMPL-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3351- ; ARMPL-SVE-NOPRED: call void @armpl_svsincos_f32_x(<vscale x 4 x float> [[WIDE_LOAD:%.*]], ptr [[TMP17:%.*]], ptr [[TMP18:%.*]], <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
3352- ; ARMPL-SVE-NOPRED: call void @sincosf(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR73:[0-9]+]]
3350+ ; ARMPL-SVE-NOPRED: call void @sincosf(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
33533351;
33543352entry:
33553353 br label %for.body
@@ -3369,35 +3367,36 @@ for.cond.cleanup:
33693367 ret void
33703368}
33713369
3370+ ; FIXME: Re-enable sincospi[f] vectorization once aliasing issues with output
3371+ ; pointers have been resolved.
3372+
33723373declare void @sincospi (double , ptr , ptr )
33733374declare void @sincospif (float , ptr , ptr )
33743375
33753376define void @sincospi_f64 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
33763377; SLEEF-NEON-LABEL: define void @sincospi_f64
33773378; SLEEF-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3378- ; SLEEF-NEON: call void @_ZGVnN2vl8l8_sincospi(<2 x double> [[WIDE_LOAD :%.*]], ptr [[TMP5 :%.*]], ptr [[TMP6 :%.*]])
3379+ ; SLEEF-NEON: call void @sincospi( double [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
33793380;
33803381; SLEEF-SVE-LABEL: define void @sincospi_f64
33813382; SLEEF-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3382- ; SLEEF-SVE: call void @sincospi(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR8:[0-9]+]]
3383+ ; SLEEF-SVE: call void @sincospi(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
33833384;
33843385; SLEEF-SVE-NOPRED-LABEL: define void @sincospi_f64
33853386; SLEEF-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3386- ; SLEEF-SVE-NOPRED: call void @_ZGVsNxvl8l8_sincospi(<vscale x 2 x double> [[WIDE_LOAD:%.*]], ptr [[TMP17:%.*]], ptr [[TMP18:%.*]])
3387- ; SLEEF-SVE-NOPRED: call void @sincospi(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR74:[0-9]+]]
3387+ ; SLEEF-SVE-NOPRED: call void @sincospi(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
33883388;
33893389; ARMPL-NEON-LABEL: define void @sincospi_f64
33903390; ARMPL-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3391- ; ARMPL-NEON: call void @armpl_vsincospiq_f64(<2 x double> [[WIDE_LOAD :%.*]], ptr [[TMP5 :%.*]], ptr [[TMP6 :%.*]])
3391+ ; ARMPL-NEON: call void @sincospi( double [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
33923392;
33933393; ARMPL-SVE-LABEL: define void @sincospi_f64
33943394; ARMPL-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3395- ; ARMPL-SVE: call void @armpl_svsincospi_f64_x(<vscale x 2 x double> [[WIDE_MASKED_LOAD :%.*]], ptr [[TMP23 :%.*]], ptr [[TMP24:%.*]], <vscale x 2 x i1> [[ACTIVE_LANE_MASK :%.*]])
3395+ ; ARMPL-SVE: call void @sincospi( double [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
33963396;
33973397; ARMPL-SVE-NOPRED-LABEL: define void @sincospi_f64
33983398; ARMPL-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3399- ; ARMPL-SVE-NOPRED: call void @armpl_svsincospi_f64_x(<vscale x 2 x double> [[WIDE_LOAD:%.*]], ptr [[TMP17:%.*]], ptr [[TMP18:%.*]], <vscale x 2 x i1> shufflevector (<vscale x 2 x i1> insertelement (<vscale x 2 x i1> poison, i1 true, i64 0), <vscale x 2 x i1> poison, <vscale x 2 x i32> zeroinitializer))
3400- ; ARMPL-SVE-NOPRED: call void @sincospi(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR74:[0-9]+]]
3399+ ; ARMPL-SVE-NOPRED: call void @sincospi(double [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
34013400;
34023401entry:
34033402 br label %for.body
@@ -3420,29 +3419,27 @@ for.cond.cleanup:
34203419define void @sincospi_f32 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
34213420; SLEEF-NEON-LABEL: define void @sincospi_f32
34223421; SLEEF-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3423- ; SLEEF-NEON: call void @_ZGVnN4vl4l4_sincospif(<4 x float> [[WIDE_LOAD :%.*]], ptr [[TMP5 :%.*]], ptr [[TMP6 :%.*]])
3422+ ; SLEEF-NEON: call void @sincospif( float [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
34243423;
34253424; SLEEF-SVE-LABEL: define void @sincospi_f32
34263425; SLEEF-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3427- ; SLEEF-SVE: call void @sincospif(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR9:[0-9]+]]
3426+ ; SLEEF-SVE: call void @sincospif(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
34283427;
34293428; SLEEF-SVE-NOPRED-LABEL: define void @sincospi_f32
34303429; SLEEF-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3431- ; SLEEF-SVE-NOPRED: call void @_ZGVsNxvl4l4_sincospif(<vscale x 4 x float> [[WIDE_LOAD:%.*]], ptr [[TMP17:%.*]], ptr [[TMP18:%.*]])
3432- ; SLEEF-SVE-NOPRED: call void @sincospif(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR75:[0-9]+]]
3430+ ; SLEEF-SVE-NOPRED: call void @sincospif(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
34333431;
34343432; ARMPL-NEON-LABEL: define void @sincospi_f32
34353433; ARMPL-NEON-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3436- ; ARMPL-NEON: call void @armpl_vsincospiq_f32(<4 x float> [[WIDE_LOAD :%.*]], ptr [[TMP5 :%.*]], ptr [[TMP6 :%.*]])
3434+ ; ARMPL-NEON: call void @sincospif( float [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
34373435;
34383436; ARMPL-SVE-LABEL: define void @sincospi_f32
34393437; ARMPL-SVE-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3440- ; ARMPL-SVE: call void @armpl_svsincospi_f32_x(<vscale x 4 x float> [[WIDE_MASKED_LOAD :%.*]], ptr [[TMP23 :%.*]], ptr [[TMP24:%.*]], <vscale x 4 x i1> [[ACTIVE_LANE_MASK :%.*]])
3438+ ; ARMPL-SVE: call void @sincospif( float [[NUM :%.*]], ptr [[GEPB :%.*]], ptr [[GEPC :%.*]])
34413439;
34423440; ARMPL-SVE-NOPRED-LABEL: define void @sincospi_f32
34433441; ARMPL-SVE-NOPRED-SAME: (ptr noalias [[A:%.*]], ptr noalias [[B:%.*]], ptr noalias [[C:%.*]]) #[[ATTR0]] {
3444- ; ARMPL-SVE-NOPRED: call void @armpl_svsincospi_f32_x(<vscale x 4 x float> [[WIDE_LOAD:%.*]], ptr [[TMP17:%.*]], ptr [[TMP18:%.*]], <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
3445- ; ARMPL-SVE-NOPRED: call void @sincospif(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]]) #[[ATTR75:[0-9]+]]
3442+ ; ARMPL-SVE-NOPRED: call void @sincospif(float [[NUM:%.*]], ptr [[GEPB:%.*]], ptr [[GEPC:%.*]])
34463443;
34473444entry:
34483445 br label %for.body
0 commit comments