# sh testcase for fneg -*- Asm -*- # mach: all # as: -isa=shcompact # ld: -m shelf32 .include "compact/testutils.inc" start # neg(0.0) = 0.0. fldi0 fr0 fldi0 fr1 fneg fr0 fcmp/eq fr0, fr1 bf wrong # neg(1.0) = fsub(0,1) fldi1 fr0 fneg fr0 fldi0 fr1 fldi1 fr2 fsub fr2, fr1 fcmp/eq fr0, fr1 bf wrong # neg(neg(1.0)) = 1.0. fldi1 fr0 fldi1 fr1 fneg fr0 fneg fr0 fcmp/eq fr0, fr1 bf wrong bra double nop wrong: fail double: # neg(0.0) = 0.0. fldi0 fr0 fldi0 fr2 _s2d fr0, dr0 _s2d fr2, dr2 _setpr fneg dr0 fcmp/eq dr0, dr2 bf wrong2 _clrpr # neg(1.0) = fsub(0,1) fldi1 fr0 _s2d fr0, dr0 _setpr fneg dr0 _clrpr fldi0 fr2 fldi1 fr3 fsub fr3, fr2 _s2d fr2, dr2 _setpr fcmp/eq fr0, fr2 bf wrong2 _clrpr # neg(neg(1.0)) = 1.0. fldi1 fr0 _s2d fr0, dr0 fldi1 fr2 _s2d fr2, dr2 _setpr fneg dr0 fneg dr2 fcmp/eq dr0, dr2 bf wrong2 _clrpr okay: pass wrong2: fail