223c223,245
< # SHRD will not set OF correctly when the shift count is 1.
---
> def macroop SHRD_R_R
> {
> mdbi regm, 0
> srd reg, reg, rcx, flags=(CF,OF,SF,ZF,PF)
> };
>
> def macroop SHRD_M_R
> {
> ldst t1, seg, sib, disp
> mdbi reg, 0
> srd t1, t1, rcx, flags=(CF,OF,SF,ZF,PF)
> st t1, seg, sib, disp
> };
>
> def macroop SHRD_P_R
> {
> rdip t7
> ldst t1, seg, riprel, disp
> mdbi reg, 0
> srd t1, t1, rcx, flags=(CF,OF,SF,ZF,PF)
> st t1, seg, riprel, disp
> };
>
226,230c248,249
< srli t1, reg, imm, flags=(CF,)
< rori t2, regm, imm
< srli t3, regm, imm
< xor t2, t2, t3
< or reg, t1, t2
---
> mdbi regm, 0
> srdi reg, reg, imm, flags=(CF,OF,SF,ZF,PF)
233d251
< # SHRD will not set OF correctly when the shift count is 1.
237,241c255,256
< srli t1, t1, imm, flags=(CF,)
< rori t2, reg, imm
< srli t3, reg, imm
< xor t2, t2, t3
< or t1, t1, t2
---
> mdbi reg, 0
> srdi t1, t1, imm, flags=(CF,OF,SF,ZF,PF)
245d259
< # SHRD will not set OF correctly when the shift count is 1.
250,254c264,265
< srli t1, t1, imm, flags=(CF,)
< rori t2, reg, imm
< srli t3, reg, imm
< xor t2, t2, t3
< or t1, t1, t2
---
> mdbi reg, 0
> srdi t1, t1, imm, flags=(CF,OF,SF,ZF,PF)