+ /* start-sanitize-vr5400 */
+ case 'e': /* must be at least one digit */
+ my_getExpression (&imm_expr, s);
+ check_absolute_expr (ip, &imm_expr);
+ if ((unsigned long) imm_expr.X_add_number > (unsigned long) OP_MASK_VECBYTE)
+ {
+ as_bad ("bad byte vector index (%ld)",
+ (long) imm_expr.X_add_number);
+ imm_expr.X_add_number = imm_expr.X_add_number;
+ }
+ ip->insn_opcode |= imm_expr.X_add_number << OP_SH_VECBYTE;
+ imm_expr.X_op = O_absent;
+ s = expr_end;
+ continue;
+
+ case '%':
+ my_getExpression (&imm_expr, s);
+ check_absolute_expr (ip, &imm_expr);
+ if ((unsigned long) imm_expr.X_add_number > (unsigned long) OP_MASK_VECALIGN)
+ {
+ as_bad ("bad byte vector index (%ld)",
+ (long) imm_expr.X_add_number);
+ imm_expr.X_add_number = imm_expr.X_add_number;
+ }
+ ip->insn_opcode |= imm_expr.X_add_number << OP_SH_VECALIGN;
+ imm_expr.X_op = O_absent;
+ s = expr_end;
+ continue;
+
+ /* end-sanitize-vr5400 */