@@ -1307,7 +1307,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
13071307 hir:: InlineAsmOperand :: Sym { expr : self . lower_expr_mut ( expr) }
13081308 }
13091309 } ;
1310- Some ( op )
1310+ Some ( ( op , * op_sp ) )
13111311 } )
13121312 . collect ( ) ;
13131313
@@ -1326,7 +1326,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
13261326 } = * p
13271327 {
13281328 let op_sp = asm. operands [ operand_idx] . 1 ;
1329- match & operands[ operand_idx] {
1329+ match & operands[ operand_idx] . 0 {
13301330 hir:: InlineAsmOperand :: In { reg, .. }
13311331 | hir:: InlineAsmOperand :: Out { reg, .. }
13321332 | hir:: InlineAsmOperand :: InOut { reg, .. }
@@ -1385,8 +1385,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
13851385 let mut used_input_regs = FxHashMap :: default ( ) ;
13861386 let mut used_output_regs = FxHashMap :: default ( ) ;
13871387 let mut required_features: Vec < & str > = vec ! [ ] ;
1388- for ( idx, op) in operands. iter ( ) . enumerate ( ) {
1389- let op_sp = asm. operands [ idx] . 1 ;
1388+ for ( idx, & ( ref op, op_sp) ) in operands. iter ( ) . enumerate ( ) {
13901389 if let Some ( reg) = op. reg ( ) {
13911390 // Make sure we don't accidentally carry features from the
13921391 // previous iteration.
@@ -1458,8 +1457,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
14581457 skip = true ;
14591458
14601459 let idx2 = * o. get ( ) ;
1461- let op2 = & operands[ idx2] ;
1462- let op_sp2 = asm. operands [ idx2] . 1 ;
1460+ let & ( ref op2, op_sp2) = & operands[ idx2] ;
14631461 let reg2 = match op2. reg ( ) {
14641462 Some ( asm:: InlineAsmRegOrRegClass :: Reg ( r) ) => r,
14651463 _ => unreachable ! ( ) ,
0 commit comments