@@ -59,19 +59,31 @@ pub(crate) fn codegen_aarch64_llvm_intrinsic_call<'tcx>(
5959 _ if intrinsic. starts_with ( "llvm.aarch64.neon.smax.v" ) => {
6060 intrinsic_args ! ( fx, args => ( x, y) ; intrinsic) ;
6161
62- simd_pair_for_each_lane ( fx, x, y, ret, & |fx, _lane_ty, _res_lane_ty, x_lane, y_lane| {
63- let gt = fx. bcx . ins ( ) . icmp ( IntCC :: SignedGreaterThan , x_lane, y_lane) ;
64- fx. bcx . ins ( ) . select ( gt, x_lane, y_lane)
65- } ) ;
62+ simd_pair_for_each_lane (
63+ fx,
64+ x,
65+ y,
66+ ret,
67+ & |fx, _lane_ty, _res_lane_ty, x_lane, y_lane| {
68+ let gt = fx. bcx . ins ( ) . icmp ( IntCC :: SignedGreaterThan , x_lane, y_lane) ;
69+ fx. bcx . ins ( ) . select ( gt, x_lane, y_lane)
70+ } ,
71+ ) ;
6672 }
6773
6874 _ if intrinsic. starts_with ( "llvm.aarch64.neon.umax.v" ) => {
6975 intrinsic_args ! ( fx, args => ( x, y) ; intrinsic) ;
7076
71- simd_pair_for_each_lane ( fx, x, y, ret, & |fx, _lane_ty, _res_lane_ty, x_lane, y_lane| {
72- let gt = fx. bcx . ins ( ) . icmp ( IntCC :: UnsignedGreaterThan , x_lane, y_lane) ;
73- fx. bcx . ins ( ) . select ( gt, x_lane, y_lane)
74- } ) ;
77+ simd_pair_for_each_lane (
78+ fx,
79+ x,
80+ y,
81+ ret,
82+ & |fx, _lane_ty, _res_lane_ty, x_lane, y_lane| {
83+ let gt = fx. bcx . ins ( ) . icmp ( IntCC :: UnsignedGreaterThan , x_lane, y_lane) ;
84+ fx. bcx . ins ( ) . select ( gt, x_lane, y_lane)
85+ } ,
86+ ) ;
7587 }
7688
7789 _ if intrinsic. starts_with ( "llvm.aarch64.neon.smaxv.i" ) => {
@@ -95,19 +107,31 @@ pub(crate) fn codegen_aarch64_llvm_intrinsic_call<'tcx>(
95107 _ if intrinsic. starts_with ( "llvm.aarch64.neon.smin.v" ) => {
96108 intrinsic_args ! ( fx, args => ( x, y) ; intrinsic) ;
97109
98- simd_pair_for_each_lane ( fx, x, y, ret, & |fx, _lane_ty, _res_lane_ty, x_lane, y_lane| {
99- let gt = fx. bcx . ins ( ) . icmp ( IntCC :: SignedLessThan , x_lane, y_lane) ;
100- fx. bcx . ins ( ) . select ( gt, x_lane, y_lane)
101- } ) ;
110+ simd_pair_for_each_lane (
111+ fx,
112+ x,
113+ y,
114+ ret,
115+ & |fx, _lane_ty, _res_lane_ty, x_lane, y_lane| {
116+ let gt = fx. bcx . ins ( ) . icmp ( IntCC :: SignedLessThan , x_lane, y_lane) ;
117+ fx. bcx . ins ( ) . select ( gt, x_lane, y_lane)
118+ } ,
119+ ) ;
102120 }
103121
104122 _ if intrinsic. starts_with ( "llvm.aarch64.neon.umin.v" ) => {
105123 intrinsic_args ! ( fx, args => ( x, y) ; intrinsic) ;
106124
107- simd_pair_for_each_lane ( fx, x, y, ret, & |fx, _lane_ty, _res_lane_ty, x_lane, y_lane| {
108- let gt = fx. bcx . ins ( ) . icmp ( IntCC :: UnsignedLessThan , x_lane, y_lane) ;
109- fx. bcx . ins ( ) . select ( gt, x_lane, y_lane)
110- } ) ;
125+ simd_pair_for_each_lane (
126+ fx,
127+ x,
128+ y,
129+ ret,
130+ & |fx, _lane_ty, _res_lane_ty, x_lane, y_lane| {
131+ let gt = fx. bcx . ins ( ) . icmp ( IntCC :: UnsignedLessThan , x_lane, y_lane) ;
132+ fx. bcx . ins ( ) . select ( gt, x_lane, y_lane)
133+ } ,
134+ ) ;
111135 }
112136
113137 _ if intrinsic. starts_with ( "llvm.aarch64.neon.sminv.i" ) => {
@@ -178,7 +202,6 @@ pub(crate) fn codegen_aarch64_llvm_intrinsic_call<'tcx>(
178202 });
179203 }
180204 */
181-
182205 _ => {
183206 fx. tcx . sess . warn ( & format ! (
184207 "unsupported AArch64 llvm intrinsic {}; replacing with trap" ,
0 commit comments