diff options
author | Matous Kozak <matouskozak@seznam.cz> | 2022-09-05 23:45:48 +0300 |
---|---|---|
committer | Matous Kozak <matouskozak@seznam.cz> | 2022-09-05 23:45:48 +0300 |
commit | f6d64ce90966edfeec8de6ac789936910ef0daa9 (patch) | |
tree | fe46fc79293933f4ede2eeef84361bb77928dc10 | |
parent | 49ae2c70a45e2a5c9da8b51c5d3461565e1fc36d (diff) |
floor, ceiling intrinsics move check outside ifdefamd64_floor_ceil_intrinsics
-rw-r--r-- | src/mono/mono/mini/simd-intrinsics.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/mono/mono/mini/simd-intrinsics.c b/src/mono/mono/mini/simd-intrinsics.c index afef560f606..388765ba3e0 100644 --- a/src/mono/mono/mini/simd-intrinsics.c +++ b/src/mono/mono/mini/simd-intrinsics.c @@ -1071,9 +1071,9 @@ emit_sri_vector (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSignature *fsi } case SN_Ceiling: case SN_Floor: { -#ifdef TARGET_ARM64 if (!type_enum_is_float (arg0_type)) return NULL; +#ifdef TARGET_ARM64 int ceil_or_floor = id == SN_Ceiling ? INTRINS_AARCH64_ADV_SIMD_FRINTP : INTRINS_AARCH64_ADV_SIMD_FRINTM; return emit_simd_ins_for_sig (cfg, klass, OP_XOP_OVR_X_X, ceil_or_floor, arg0_type, fsig, args); #elif TARGET_AMD64 @@ -1082,9 +1082,6 @@ emit_sri_vector (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSignature *fsi if (size != 16) // Supported only on Vector128 return NULL; - if (!type_enum_is_float (arg0_type)) - return NULL; - int ceil_or_floor = id == SN_Ceiling ? 10 : 9; return emit_simd_ins_for_sig (cfg, klass, OP_SSE41_ROUNDP, ceil_or_floor, arg0_type, fsig, args); #else |