SAL/SAR/SHL/SHR—ShiftOpcode***InstructionOp/ En64-Bit ModeCompat/Leg ModeDescriptionD0 /4SAL r/m8, 1M1Valid ValidMultiply r/m8 by 2, once. REX + D0 /4SAL r/m8**, 1M1ValidN.E.Multiply r/m8 by 2, once. D2 /4SAL r/m8, CLMCValid ValidMultiply r/m8 by 2, CL times.REX + D2 /4SAL r/m8**, CLMCValidN.E.Multiply r/m8 by 2, CL times.C0 /4 ibSAL r/m8, imm8MIValid ValidMultiply r/m8 by 2, imm8 times.REX + C0 /4 ibSAL r/m8**, imm8MIValidN.E.Multiply r/m8 by 2, imm8 times.D1 /4SAL r/m16, 1M1Valid ValidMultiply r/m16 by 2, once.D3 /4SAL r/m16, CLMCValid ValidMultiply r/m16 by 2, CL times.C1 /4 ibSAL r/m16, imm8MIValid ValidMultiply r/m16 by 2, imm8 times.D1 /4SAL r/m32, 1M1Valid ValidMultiply r/m32 by 2, once.REX.W + D1 /4SAL r/m64, 1M1ValidN.E.Multiply r/m64 by 2, once.D3 /4SAL r/m32, CLMCValid ValidMultiply r/m32 by 2, CL times.REX.W + D3 /4SAL r/m64, CLMCValidN.E.Multiply r/m64 by 2, CL times.C1 /4 ibSAL r/m32, imm8MIValid ValidMultiply r/m32 by 2, imm8 times.REX.W + C1 /4 ibSAL r/m64, imm8MIValidN.E.Multiply r/m64 by 2, imm8 times.D0 /7SAR r/m8, 1M1Valid ValidSigned divide* r/m8 by 2, once.REX + D0 /7SAR r/m8**, 1M1ValidN.E.Signed divide* r/m8 by 2, once.D2 /7SAR r/m8, CLMCValid ValidSigned divide* r/m8 by 2, CL times.REX + D2 /7SAR r/m8**, CLMCValidN.E.Signed divide* r/m8 by 2, CL times.C0 /7 ibSAR r/m8, imm8MIValid ValidSigned divide* r/m8 by 2, imm8 times.REX + C0 /7 ibSAR r/m8**, imm8MIValidN.E.Signed divide* r/m8 by 2, imm8 times.D1 /7SAR r/m16,1M1Valid ValidSigned divide* r/m16 by 2, once.D3 /7SAR r/m16, CLMCValid ValidSigned divide* r/m16 by 2, CL times.C1 /7 ibSAR r/m16, imm8MIValid ValidSigned divide*r/m16 by 2, imm8 times.D1 /7SAR r/m32, 1M1Valid ValidSigned divide* r/m32 by 2, once.REX.W + D1 /7SAR r/m64, 1M1ValidN.E.Signed divide* r/m64 by 2, once.D3 /7SAR r/m32, CLMCValid ValidSigned divide*r/m32 by 2, CL times.REX.W + D3 /7SAR r/m64, CLMCValidN.E.Signed divide*r/m64 by 2, CL times.C1 /7 ibSAR r/m32, imm8MIValid ValidSigned divide*r/m32 by 2, imm8 times.REX.W + C1 /7 ibSAR r/m64, imm8MIValidN.E.Signed divide*r/m64 by 2, imm8 timesD0 /4SHL r/m8, 1M1Valid ValidMultiply r/m8 by 2, once.REX + D0 /4SHL r/m8**, 1M1ValidN.E.Multiply r/m8 by 2, once.D2 /4SHL r/m8, CLMCValid ValidMultiply r/m8 by 2, CL times.REX + D2 /4SHL r/m8**, CLMCValidN.E.Multiply r/m8 by 2, CL times.C0 /4 ibSHL r/m8, imm8MIValid ValidMultiply r/m8 by 2, imm8 times.REX + C0 /4 ibSHL r/m8**, imm8MIValidN.E.Multiply r/m8 by 2, imm8 times.D1 /4SHL r/m16,1M1Valid ValidMultiply r/m16 by 2, once.D3 /4SHL r/m16, CLMCValid ValidMultiply r/m16 by 2, CL times.C1 /4 ibSHL r/m16, imm8MIValid ValidMultiply r/m16 by 2, imm8 times.D1 /4SHL r/m32,1M1Valid ValidMultiply r/m32 by 2, once.
This UNOFFICIAL reference was generated from the official Intel® 64 and IA-32 Architectures Software Developer’s Manual by a dumb script. There is no guarantee that some parts aren't mangled or broken and is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.