@@ -2902,35 +2902,36 @@ define void @log2_f32(ptr noalias %in.ptr, ptr noalias %out.ptr) {
2902
2902
ret void
2903
2903
}
2904
2904
2905
+ ; FIXME: Re-enable modf[f] vectorization once aliasing issues due to output
2906
+ ; pointers have been resolved.
2907
+
2905
2908
declare double @modf (double , ptr )
2906
2909
declare float @modff (float , ptr )
2907
2910
2908
2911
define void @modf_f64 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
2909
2912
; SLEEF-NEON-LABEL: define void @modf_f64
2910
2913
; 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 :%.*]])
2912
2915
;
2913
2916
; SLEEF-SVE-LABEL: define void @modf_f64
2914
2917
; 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:%.*]])
2916
2919
;
2917
2920
; SLEEF-SVE-NOPRED-LABEL: define void @modf_f64
2918
2921
; 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:%.*]])
2921
2923
;
2922
2924
; ARMPL-NEON-LABEL: define void @modf_f64
2923
2925
; 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 :%.*]])
2925
2927
;
2926
2928
; ARMPL-SVE-LABEL: define void @modf_f64
2927
2929
; 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 :%.*]])
2929
2931
;
2930
2932
; ARMPL-SVE-NOPRED-LABEL: define void @modf_f64
2931
2933
; 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:%.*]])
2934
2935
;
2935
2936
entry:
2936
2937
br label %for.body
@@ -2954,29 +2955,27 @@ for.cond.cleanup:
2954
2955
define void @modf_f32 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
2955
2956
; SLEEF-NEON-LABEL: define void @modf_f32
2956
2957
; 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 :%.*]])
2958
2959
;
2959
2960
; SLEEF-SVE-LABEL: define void @modf_f32
2960
2961
; 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:%.*]])
2962
2963
;
2963
2964
; SLEEF-SVE-NOPRED-LABEL: define void @modf_f32
2964
2965
; 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:%.*]])
2967
2967
;
2968
2968
; ARMPL-NEON-LABEL: define void @modf_f32
2969
2969
; 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 :%.*]])
2971
2971
;
2972
2972
; ARMPL-SVE-LABEL: define void @modf_f32
2973
2973
; 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 :%.*]])
2975
2975
;
2976
2976
; ARMPL-SVE-NOPRED-LABEL: define void @modf_f32
2977
2977
; 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:%.*]])
2980
2979
;
2981
2980
entry:
2982
2981
br label %for.body
@@ -3276,35 +3275,36 @@ define void @sin_f32(ptr noalias %in.ptr, ptr noalias %out.ptr) {
3276
3275
ret void
3277
3276
}
3278
3277
3278
+ ; FIXME: Re-enable sincos[f] vectorization once aliasing issues with output
3279
+ ; pointers have been resolved.
3280
+
3279
3281
declare void @sincos (double , ptr , ptr )
3280
3282
declare void @sincosf (float , ptr , ptr )
3281
3283
3282
3284
define void @sincos_f64 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
3283
3285
; SLEEF-NEON-LABEL: define void @sincos_f64
3284
3286
; 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 :%.*]])
3286
3288
;
3287
3289
; SLEEF-SVE-LABEL: define void @sincos_f64
3288
3290
; 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:%.*]])
3290
3292
;
3291
3293
; SLEEF-SVE-NOPRED-LABEL: define void @sincos_f64
3292
3294
; 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:%.*]])
3295
3296
;
3296
3297
; ARMPL-NEON-LABEL: define void @sincos_f64
3297
3298
; 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 :%.*]])
3299
3300
;
3300
3301
; ARMPL-SVE-LABEL: define void @sincos_f64
3301
3302
; 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 :%.*]])
3303
3304
;
3304
3305
; ARMPL-SVE-NOPRED-LABEL: define void @sincos_f64
3305
3306
; 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:%.*]])
3308
3308
;
3309
3309
entry:
3310
3310
br label %for.body
@@ -3327,29 +3327,27 @@ for.cond.cleanup:
3327
3327
define void @sincos_f32 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
3328
3328
; SLEEF-NEON-LABEL: define void @sincos_f32
3329
3329
; 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 :%.*]])
3331
3331
;
3332
3332
; SLEEF-SVE-LABEL: define void @sincos_f32
3333
3333
; 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:%.*]])
3335
3335
;
3336
3336
; SLEEF-SVE-NOPRED-LABEL: define void @sincos_f32
3337
3337
; 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:%.*]])
3340
3339
;
3341
3340
; ARMPL-NEON-LABEL: define void @sincos_f32
3342
3341
; 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 :%.*]])
3344
3343
;
3345
3344
; ARMPL-SVE-LABEL: define void @sincos_f32
3346
3345
; 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 :%.*]])
3348
3347
;
3349
3348
; ARMPL-SVE-NOPRED-LABEL: define void @sincos_f32
3350
3349
; 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:%.*]])
3353
3351
;
3354
3352
entry:
3355
3353
br label %for.body
@@ -3369,35 +3367,36 @@ for.cond.cleanup:
3369
3367
ret void
3370
3368
}
3371
3369
3370
+ ; FIXME: Re-enable sincospi[f] vectorization once aliasing issues with output
3371
+ ; pointers have been resolved.
3372
+
3372
3373
declare void @sincospi (double , ptr , ptr )
3373
3374
declare void @sincospif (float , ptr , ptr )
3374
3375
3375
3376
define void @sincospi_f64 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
3376
3377
; SLEEF-NEON-LABEL: define void @sincospi_f64
3377
3378
; 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 :%.*]])
3379
3380
;
3380
3381
; SLEEF-SVE-LABEL: define void @sincospi_f64
3381
3382
; 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:%.*]])
3383
3384
;
3384
3385
; SLEEF-SVE-NOPRED-LABEL: define void @sincospi_f64
3385
3386
; 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:%.*]])
3388
3388
;
3389
3389
; ARMPL-NEON-LABEL: define void @sincospi_f64
3390
3390
; 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 :%.*]])
3392
3392
;
3393
3393
; ARMPL-SVE-LABEL: define void @sincospi_f64
3394
3394
; 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 :%.*]])
3396
3396
;
3397
3397
; ARMPL-SVE-NOPRED-LABEL: define void @sincospi_f64
3398
3398
; 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:%.*]])
3401
3400
;
3402
3401
entry:
3403
3402
br label %for.body
@@ -3420,29 +3419,27 @@ for.cond.cleanup:
3420
3419
define void @sincospi_f32 (ptr noalias %a , ptr noalias %b , ptr noalias %c ) {
3421
3420
; SLEEF-NEON-LABEL: define void @sincospi_f32
3422
3421
; 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 :%.*]])
3424
3423
;
3425
3424
; SLEEF-SVE-LABEL: define void @sincospi_f32
3426
3425
; 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:%.*]])
3428
3427
;
3429
3428
; SLEEF-SVE-NOPRED-LABEL: define void @sincospi_f32
3430
3429
; 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:%.*]])
3433
3431
;
3434
3432
; ARMPL-NEON-LABEL: define void @sincospi_f32
3435
3433
; 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 :%.*]])
3437
3435
;
3438
3436
; ARMPL-SVE-LABEL: define void @sincospi_f32
3439
3437
; 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 :%.*]])
3441
3439
;
3442
3440
; ARMPL-SVE-NOPRED-LABEL: define void @sincospi_f32
3443
3441
; 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:%.*]])
3446
3443
;
3447
3444
entry:
3448
3445
br label %for.body
0 commit comments