]> gitweb.factorcode.org Git - factor.git/commit
compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate...
authorSlava Pestov <slava@shill.local>
Mon, 19 Oct 2009 09:58:29 +0000 (04:58 -0500)
committerSlava Pestov <slava@shill.local>
Mon, 19 Oct 2009 09:58:29 +0000 (04:58 -0500)
commit2d5cdd19ec5d5ee17a521afd0723cf749d814aee
tree4762afb8d3e5a568ec7517d6f438110274c9c658
parent102af9badb1a4d02a09521882710fc9b0282de67
compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate, unlike ADDI, SUBI and MULLI which take a signed 16-bit immediate. The code generator was not aware of this, and so for example '[ >fixnum -16 bitand ]' would generate incorrect code. Split up small-enough? hook into immediate-arithmetic? and immediate-bitwise? and update value numbering to be aware of this. Fixes classes.struct bitfields test failure
basis/compiler/cfg/intrinsics/slots/slots.factor
basis/compiler/cfg/value-numbering/rewrite/rewrite.factor
basis/compiler/tests/intrinsics.factor
basis/compiler/tree/propagation/info/info.factor
basis/cpu/architecture/architecture.factor
basis/cpu/ppc/ppc.factor
basis/cpu/x86/x86.factor