Merge pull request #736 from egaburov/native_trigonometry
Native trigonometry
This commit is contained in:
@@ -695,3 +695,5 @@ define <16 x double> @__max_varying_double(<16 x double>, <16 x double>) nounwin
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -564,3 +564,6 @@ gen_scatter(double)
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -514,3 +514,6 @@ define <4 x double> @__max_varying_double(<4 x double>, <4 x double>) nounwind r
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -998,3 +998,6 @@ define_avgs()
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -191,13 +191,9 @@ declare <WIDTH x double> @__max_varying_double(<WIDTH x double>,
|
||||
|
||||
declare float @__rsqrt_uniform_float(float) nounwind readnone
|
||||
declare float @__rcp_uniform_float(float) nounwind readnone
|
||||
declare double @__rsqrt_uniform_double(double) nounwind readnone
|
||||
declare double @__rcp_uniform_double(double) nounwind readnone
|
||||
declare float @__sqrt_uniform_float(float) nounwind readnone
|
||||
declare <WIDTH x float> @__rcp_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare <WIDTH x float> @__rsqrt_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare <WIDTH x double> @__rcp_varying_double(<WIDTH x double>) nounwind readnone
|
||||
declare <WIDTH x double> @__rsqrt_varying_double(<WIDTH x double>) nounwind readnone
|
||||
|
||||
declare <WIDTH x float> @__sqrt_varying_float(<WIDTH x float>) nounwind readnone
|
||||
|
||||
@@ -393,3 +389,11 @@ declare void @__prefetch_read_uniform_nt(i8 * nocapture) nounwind
|
||||
|
||||
define_avgs()
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; reciprocals in double precision, if supported
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -521,3 +521,6 @@ define <8 x i16> @__avg_down_int16(<8 x i16>, <8 x i16>) nounwind readnone {
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -491,3 +491,6 @@ define <4 x i16> @__avg_down_int16(<4 x i16>, <4 x i16>) nounwind readnone {
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -587,3 +587,6 @@ define <16 x i16> @__avg_down_int16(<16 x i16>, <16 x i16>) nounwind readnone {
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -659,3 +659,6 @@ define <8 x double> @__max_varying_double(<8 x double>, <8 x double>) nounwind r
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -594,3 +594,6 @@ gen_scatter(double)
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -495,3 +495,6 @@ define_down_avgs()
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -497,3 +497,6 @@ define_down_avgs()
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -598,3 +598,6 @@ define_avgs()
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -521,3 +521,6 @@ define_avgs()
|
||||
|
||||
rsqrtd_decl()
|
||||
rcpd_decl()
|
||||
|
||||
transcendetals_decl()
|
||||
trigonometry_decl()
|
||||
|
||||
@@ -2516,13 +2516,6 @@ declare void
|
||||
@__pseudo_scatter_base_offsets64_double(i8 * nocapture, i32, <WIDTH x i64>,
|
||||
<WIDTH x double>, <WIDTH x MASK>) nounwind
|
||||
|
||||
declare float @__log_uniform_float(float) nounwind readnone
|
||||
declare <WIDTH x float> @__log_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare float @__exp_uniform_float(float) nounwind readnone
|
||||
declare <WIDTH x float> @__exp_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare float @__pow_uniform_float(float, float) nounwind readnone
|
||||
declare <WIDTH x float> @__pow_varying_float(<WIDTH x float>, <WIDTH x float>) nounwind readnone
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
declare void @__use8(<WIDTH x i8>)
|
||||
@@ -4951,3 +4944,58 @@ define(`rcpd_decl', `
|
||||
declare double @__rcp_uniform_double(double)
|
||||
declare <WIDTH x double> @__rcp_varying_double(<WIDTH x double>)
|
||||
')
|
||||
|
||||
|
||||
define(`transcendetals_decl',`
|
||||
declare float @__log_uniform_float(float) nounwind readnone
|
||||
declare <WIDTH x float> @__log_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare float @__exp_uniform_float(float) nounwind readnone
|
||||
declare <WIDTH x float> @__exp_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare float @__pow_uniform_float(float, float) nounwind readnone
|
||||
declare <WIDTH x float> @__pow_varying_float(<WIDTH x float>, <WIDTH x float>) nounwind readnone
|
||||
|
||||
declare double @__log_uniform_double(double) nounwind readnone
|
||||
declare <WIDTH x double> @__log_varying_double(<WIDTH x double>) nounwind readnone
|
||||
declare double @__exp_uniform_double(double) nounwind readnone
|
||||
declare <WIDTH x double> @__exp_varying_double(<WIDTH x double>) nounwind readnone
|
||||
declare double @__pow_uniform_double(double, double) nounwind readnone
|
||||
declare <WIDTH x double> @__pow_varying_double(<WIDTH x double>, <WIDTH x double>) nounwind readnone
|
||||
')
|
||||
|
||||
define(`trigonometry_decl',`
|
||||
declare <WIDTH x float> @__sin_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare <WIDTH x float> @__asin_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare <WIDTH x float> @__cos_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare <WIDTH x float> @__acos_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare void @__sincos_varying_float(<WIDTH x float>, <WIDTH x float>*, <WIDTH x float>*) nounwind readnone
|
||||
declare <WIDTH x float> @__tan_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare <WIDTH x float> @__atan_varying_float(<WIDTH x float>) nounwind readnone
|
||||
declare <WIDTH x float> @__atan2_varying_float(<WIDTH x float>,<WIDTH x float>) nounwind readnone
|
||||
|
||||
declare float @__sin_uniform_float(float) nounwind readnone
|
||||
declare float @__asin_uniform_float(float) nounwind readnone
|
||||
declare float @__cos_uniform_float(float) nounwind readnone
|
||||
declare float @__acos_uniform_float(float) nounwind readnone
|
||||
declare void @__sincos_uniform_float(float, float*, float*) nounwind readnone
|
||||
declare float @__tan_uniform_float(float) nounwind readnone
|
||||
declare float @__atan_uniform_float(float) nounwind readnone
|
||||
declare float @__atan2_uniform_float(float,float) nounwind readnone
|
||||
|
||||
declare <WIDTH x double> @__sin_varying_double(<WIDTH x double>) nounwind readnone
|
||||
declare <WIDTH x double> @__asin_varying_double(<WIDTH x double>) nounwind readnone
|
||||
declare <WIDTH x double> @__cos_varying_double(<WIDTH x double>) nounwind readnone
|
||||
declare <WIDTH x double> @__acos_varying_double(<WIDTH x double>) nounwind readnone
|
||||
declare void @__sincos_varying_double(<WIDTH x double>, <WIDTH x double>*, <WIDTH x double>*) nounwind readnone
|
||||
declare <WIDTH x double> @__tan_varying_double(<WIDTH x double>) nounwind readnone
|
||||
declare <WIDTH x double> @__atan_varying_double(<WIDTH x double>) nounwind readnone
|
||||
declare <WIDTH x double> @__atan2_varying_double(<WIDTH x double>,<WIDTH x double>) nounwind readnone
|
||||
|
||||
declare double @__sin_uniform_double(double) nounwind readnone
|
||||
declare double @__asin_uniform_double(double) nounwind readnone
|
||||
declare double @__cos_uniform_double(double) nounwind readnone
|
||||
declare double @__acos_uniform_double(double) nounwind readnone
|
||||
declare void @__sincos_uniform_double(double, double*, double*) nounwind readnone
|
||||
declare double @__tan_uniform_double(double) nounwind readnone
|
||||
declare double @__atan_uniform_double(double) nounwind readnone
|
||||
declare double @__atan2_uniform_double(double,double) nounwind readnone
|
||||
')
|
||||
|
||||
Reference in New Issue
Block a user