; AVX512-LABEL: floor_mask_ss:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscaless $1, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscaless $9, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovaps %xmm2, %xmm0
; AVX512-NEXT: retq
%mask = and i8 %k, 1
; AVX512-LABEL: floor_maskz_ss:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscaless $1, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscaless $9, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask = and i8 %k, 1
%nmask = icmp eq i8 %mask, 0
; AVX512-LABEL: floor_mask_sd:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscalesd $1, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscalesd $9, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovapd %xmm2, %xmm0
; AVX512-NEXT: retq
%mask = and i8 %k, 1
; AVX512-LABEL: floor_maskz_sd:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscalesd $1, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscalesd $9, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask = and i8 %k, 1
%nmask = icmp eq i8 %mask, 0
; AVX512-LABEL: floor_mask_ss_trunc:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscaless $1, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscaless $9, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovaps %xmm2, %xmm0
; AVX512-NEXT: retq
%mask = trunc i16 %k to i1
; AVX512-LABEL: floor_maskz_ss_trunc:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscaless $1, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscaless $9, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask = trunc i16 %k to i1
%s = extractelement <4 x float> %x, i64 0
; AVX512-LABEL: floor_mask_sd_trunc:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscalesd $1, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscalesd $9, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovapd %xmm2, %xmm0
; AVX512-NEXT: retq
%mask = trunc i16 %k to i1
; AVX512-LABEL: floor_maskz_sd_trunc:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscalesd $1, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscalesd $9, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask = trunc i16 %k to i1
%s = extractelement <2 x double> %x, i64 0
; AVX512-LABEL: floor_mask_ss_mask8:
; AVX512: ## %bb.0:
; AVX512-NEXT: vcmpeqss %xmm1, %xmm0, %k1
-; AVX512-NEXT: vrndscaless $1, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscaless $9, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovaps %xmm2, %xmm0
; AVX512-NEXT: retq
%mask1 = fcmp oeq <4 x float> %x, %y
; AVX512-LABEL: floor_maskz_ss_mask8:
; AVX512: ## %bb.0:
; AVX512-NEXT: vcmpeqss %xmm1, %xmm0, %k1
-; AVX512-NEXT: vrndscaless $1, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscaless $9, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask1 = fcmp oeq <4 x float> %x, %y
%mask = extractelement <4 x i1> %mask1, i64 0
; AVX512-LABEL: floor_mask_sd_mask8:
; AVX512: ## %bb.0:
; AVX512-NEXT: vcmpeqsd %xmm1, %xmm0, %k1
-; AVX512-NEXT: vrndscalesd $1, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscalesd $9, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovapd %xmm2, %xmm0
; AVX512-NEXT: retq
%mask1 = fcmp oeq <2 x double> %x, %y
; AVX512-LABEL: floor_maskz_sd_mask8:
; AVX512: ## %bb.0:
; AVX512-NEXT: vcmpeqsd %xmm1, %xmm0, %k1
-; AVX512-NEXT: vrndscalesd $1, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscalesd $9, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask1 = fcmp oeq <2 x double> %x, %y
%mask = extractelement <2 x i1> %mask1, i64 0
; AVX512-LABEL: ceil_mask_ss:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscaless $2, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscaless $10, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovaps %xmm2, %xmm0
; AVX512-NEXT: retq
%mask = and i8 %k, 1
; AVX512-LABEL: ceil_maskz_ss:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscaless $2, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscaless $10, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask = and i8 %k, 1
%nmask = icmp eq i8 %mask, 0
; AVX512-LABEL: ceil_mask_sd:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscalesd $2, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscalesd $10, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovapd %xmm2, %xmm0
; AVX512-NEXT: retq
%mask = and i8 %k, 1
; AVX512-LABEL: ceil_maskz_sd:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscalesd $2, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscalesd $10, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask = and i8 %k, 1
%nmask = icmp eq i8 %mask, 0
; AVX512-LABEL: ceil_mask_ss_trunc:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscaless $2, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscaless $10, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovaps %xmm2, %xmm0
; AVX512-NEXT: retq
%mask = trunc i16 %k to i1
; AVX512-LABEL: ceil_maskz_ss_trunc:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscaless $2, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscaless $10, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask = trunc i16 %k to i1
%s = extractelement <4 x float> %x, i64 0
; AVX512-LABEL: ceil_mask_sd_trunc:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscalesd $2, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscalesd $10, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovapd %xmm2, %xmm0
; AVX512-NEXT: retq
%mask = trunc i16 %k to i1
; AVX512-LABEL: ceil_maskz_sd_trunc:
; AVX512: ## %bb.0:
; AVX512-NEXT: kmovw %edi, %k1
-; AVX512-NEXT: vrndscalesd $2, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscalesd $10, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask = trunc i16 %k to i1
%s = extractelement <2 x double> %x, i64 0
; AVX512-LABEL: ceil_mask_ss_mask8:
; AVX512: ## %bb.0:
; AVX512-NEXT: vcmpeqss %xmm1, %xmm0, %k1
-; AVX512-NEXT: vrndscaless $2, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscaless $10, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovaps %xmm2, %xmm0
; AVX512-NEXT: retq
%mask1 = fcmp oeq <4 x float> %x, %y
; AVX512-LABEL: ceil_maskz_ss_mask8:
; AVX512: ## %bb.0:
; AVX512-NEXT: vcmpeqss %xmm1, %xmm0, %k1
-; AVX512-NEXT: vrndscaless $2, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscaless $10, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask1 = fcmp oeq <4 x float> %x, %y
%mask = extractelement <4 x i1> %mask1, i64 0
; AVX512-LABEL: ceil_mask_sd_mask8:
; AVX512: ## %bb.0:
; AVX512-NEXT: vcmpeqsd %xmm1, %xmm0, %k1
-; AVX512-NEXT: vrndscalesd $2, %xmm0, %xmm1, %xmm2 {%k1}
+; AVX512-NEXT: vrndscalesd $10, %xmm0, %xmm1, %xmm2 {%k1}
; AVX512-NEXT: vmovapd %xmm2, %xmm0
; AVX512-NEXT: retq
%mask1 = fcmp oeq <2 x double> %x, %y
; AVX512-LABEL: ceil_maskz_sd_mask8:
; AVX512: ## %bb.0:
; AVX512-NEXT: vcmpeqsd %xmm1, %xmm0, %k1
-; AVX512-NEXT: vrndscalesd $2, %xmm0, %xmm1, %xmm0 {%k1} {z}
+; AVX512-NEXT: vrndscalesd $10, %xmm0, %xmm1, %xmm0 {%k1} {z}
; AVX512-NEXT: retq
%mask1 = fcmp oeq <2 x double> %x, %y
%mask = extractelement <2 x i1> %mask1, i64 0