2003-05-21 J"orn Rennecke * sh64-media.cpu (msad.ubq): Inputs are unsigned bytes. Index: sh64-media.cpu =================================================================== RCS file: /cvs/src/src/cgen/cpu/sh64-media.cpu,v retrieving revision 1.5 diff -p -r1.5 sh64-media.cpu *** sh64-media.cpu 21 May 2003 14:10:46 -0000 1.5 --- sh64-media.cpu 21 May 2003 18:48:32 -0000 *************** *** 1,6 **** ; SuperH SHmedia instruction set description. -*- Scheme -*- ; Copyright (C) 2000, 2001 Red Hat, Inc. ! ; Copyright (C) 2002 SuperH Ltd ; This file is part of CGEN. ; See file COPYING.CGEN for details. --- 1,6 ---- ; SuperH SHmedia instruction set description. -*- Scheme -*- ; Copyright (C) 2000, 2001 Red Hat, Inc. ! ; Copyright (C) 2002, 2003 SuperH Ltd ; This file is part of CGEN. ; See file COPYING.CGEN for details. *************** *** 1275,1290 **** () "msad.ubq $rm, $rn, $rd" (+ (f-op 18) rm (f-ext 0) rn rd (f-rsvd 0)) ! (sequence ((DI acc)) ! (set acc (abs DI (sub (subword QI rm 0) (subword QI rn 0)))) ! (set acc (add DI acc (abs (sub (subword QI rm 1) (subword QI rn 1))))) ! (set acc (add DI acc (abs (sub (subword QI rm 2) (subword QI rn 2))))) ! (set acc (add DI acc (abs (sub (subword QI rm 3) (subword QI rn 3))))) ! (set acc (add DI acc (abs (sub (subword QI rm 4) (subword QI rn 4))))) ! (set acc (add DI acc (abs (sub (subword QI rm 5) (subword QI rn 5))))) ! (set acc (add DI acc (abs (sub (subword QI rm 6) (subword QI rn 6))))) ! (set acc (add DI acc (abs (sub (subword QI rm 7) (subword QI rn 7))))) ! (set rd (add rd acc)))) (define-pmacro (-mshaldsl arg) (saturate SI 32 (sll DI arg (and rn 31)))) (dshmi mshaldsl "Multimedia saturating arithmetic left shift (long word)" --- 1275,1298 ---- () "msad.ubq $rm, $rn, $rd" (+ (f-op 18) rm (f-ext 0) rn rd (f-rsvd 0)) ! (sequence ((SI acc)) ! (set acc (abs (sub (zext SI (subword QI rm 0)) ! (zext SI (subword QI rn 0))))) ! (set acc (add acc (abs (sub (zext SI (subword QI rm 1)) ! (zext SI (subword QI rn 1)))))) ! (set acc (add acc (abs (sub (zext SI (subword QI rm 2)) ! (zext SI (subword QI rn 2)))))) ! (set acc (add acc (abs (sub (zext SI (subword QI rm 3)) ! (zext SI (subword QI rn 3)))))) ! (set acc (add acc (abs (sub (zext SI (subword QI rm 4)) ! (zext SI (subword QI rn 4)))))) ! (set acc (add acc (abs (sub (zext SI (subword QI rm 5)) ! (zext SI (subword QI rn 5)))))) ! (set acc (add acc (abs (sub (zext SI (subword QI rm 6)) ! (zext SI (subword QI rn 6)))))) ! (set acc (add acc (abs (sub (zext SI (subword QI rm 7)) ! (zext SI (subword QI rn 7)))))) ! (set rd (add rd (zext DI acc))))) (define-pmacro (-mshaldsl arg) (saturate SI 32 (sll DI arg (and rn 31)))) (dshmi mshaldsl "Multimedia saturating arithmetic left shift (long word)"