Remove more shifts for sign/zero extension
[deliverable/binutils-gdb.git] / cpu / epiphany.cpu
index 9f873b38f47bc254aaff6b73dc0cda86108546f0..02bce0779d5db97b06dd54b5cd53cc88fdd41a54 100644 (file)
                (set (ifield f-disp3)  (and SI (ifield f-sdisp11) 7)))
       (sequence ()                     ;decode
                (set (ifield f-sdisp11)
-                    (sra SI (sll SI (or SI (sll (ifield f-disp8) 3)
-                                        (ifield f-disp3))
-                                 21)
-                         21)))
+                    (sub SI (xor (and (or (sll (ifield f-disp8) 3)
+                                          (ifield f-disp3))
+                                      #x7ff)
+                                 #x400)
+                         #x400)))
       )
 
 (dnmf f-imm16 "Short immediate for move/add/sub" () UINT (f-imm8 f-imm-27-8)
This page took 0.025797 seconds and 4 git commands to generate.