mescc: Lshift support non-fixed shift value.
[mes.git] / module / mes / as-i386.mes
index 287066cd02559b67fd9ead8411afa16be18f1605..a2762740682dba39c738c4ccfc771fd492d869f1 100644 (file)
   (or n accu:shl n)
   `(#xc1 #xe0 ,n))                      ; shl    $0x8,%eax
 
+(define (i386:accu<<base)
+  '(#x31 #xc9                           ; xor    %ecx,%ecx
+    #x89 #xd1                           ; mov    %edx,%ecx
+    #xd3 #xe0))                         ; shl    %cl,%eax
+
 (define (i386:accu+accu)
   '(#x01 #xc0))                         ; add    %eax,%eax