Simpler word-sized variable right shifts on x86 and x86-64
authorPaul Khuong <pvk@pvk.ca>
Wed, 22 May 2013 03:46:32 +0000 (23:46 -0400)
committerPaul Khuong <pvk@pvk.ca>
Wed, 22 May 2013 05:13:22 +0000 (01:13 -0400)
commit60deeb7616b22ae52cf1dd8bbc2904a1a0d80ffd
treeddbe00f62f3bd3bc8ff1294171a6344c51c731ef
parent11dc847696f9c5441c409ce5b7fdf77cf27746c5
Simpler word-sized variable right shifts on x86 and x86-64

 * Known negative shifts are converted to another function that
   only handles machine-friendly right shifts.

 * The transforms and VOPs are conditionalised on ash-right-vops,
   so other platforms aren't penalised.

 * The new transforms trigger a lot of notes; this is suboptimal,
   and one test had to be adjusted.
NEWS
base-target-features.lisp-expr
make-config.sh
package-data-list.lisp-expr
src/compiler/fndb.lisp
src/compiler/srctran.lisp
src/compiler/x86-64/arith.lisp
src/compiler/x86/arith.lisp
tests/compiler.pure.lisp