This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +12
-4
lines changed Expand file tree Collapse file tree 2 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -74,8 +74,12 @@ pub(crate) fn codegen_x86_llvm_intrinsic_call<'tcx>(
74
74
} ;
75
75
let x = codegen_operand ( fx, x) ;
76
76
let y = codegen_operand ( fx, y) ;
77
- let kind = crate :: constant:: mir_operand_get_const_val ( fx, kind)
78
- . expect ( "llvm.x86.sse2.cmp.* kind not const" ) ;
77
+ let kind = match kind {
78
+ Operand :: Constant ( const_) => {
79
+ crate :: constant:: eval_mir_constant ( fx, const_) . unwrap ( ) . 0
80
+ }
81
+ Operand :: Copy ( _) | Operand :: Move ( _) => unreachable ! ( "{kind:?}" ) ,
82
+ } ;
79
83
80
84
let flt_cc = match kind
81
85
. try_to_bits ( Size :: from_bytes ( 1 ) )
Original file line number Diff line number Diff line change @@ -168,8 +168,12 @@ pub(super) fn codegen_simd_intrinsic_call<'tcx>(
168
168
169
169
let indexes = {
170
170
use rustc_middle:: mir:: interpret:: * ;
171
- let idx_const = crate :: constant:: mir_operand_get_const_val ( fx, idx)
172
- . expect ( "simd_shuffle idx not const" ) ;
171
+ let idx_const = match idx {
172
+ Operand :: Constant ( const_) => {
173
+ crate :: constant:: eval_mir_constant ( fx, const_) . unwrap ( ) . 0
174
+ }
175
+ Operand :: Copy ( _) | Operand :: Move ( _) => unreachable ! ( "{idx:?}" ) ,
176
+ } ;
173
177
174
178
let idx_bytes = match idx_const {
175
179
ConstValue :: ByRef { alloc, offset } => {
You can’t perform that action at this time.
0 commit comments