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 16:21:36 -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. *************** *** 1276,1289 **** "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)))) --- 1276,1297 ---- "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 (zext SI (subword UQI rm 0)) ! (zext SI (subword UQI rn 0))))) ! (set acc (add DI acc (abs (sub (zext SI (subword UQI rm 1)) ! (zext SI (subword UQI rn 1)))))) ! (set acc (add DI acc (abs (sub (zext SI (subword UQI rm 2)) ! (zext SI (subword UQI rn 2)))))) ! (set acc (add DI acc (abs (sub (zext SI (subword UQI rm 3)) ! (zext SI (subword UQI rn 3)))))) ! (set acc (add DI acc (abs (sub (zext SI (subword UQI rm 4)) ! (zext SI (subword UQI rn 4)))))) ! (set acc (add DI acc (abs (sub (zext SI (subword UQI rm 5)) ! (zext SI (subword UQI rn 5)))))) ! (set acc (add DI acc (abs (sub (zext SI (subword UQI rm 6)) ! (zext SI (subword UQI rn 6)))))) ! (set acc (add DI acc (abs (sub (zext SI (subword UQI rm 7)) ! (zext SI (subword UQI rn 7)))))) (set rd (add rd acc)))) (define-pmacro (-mshaldsl arg) (saturate SI 32 (sll DI arg (and rn 31))))