Friday, 9 March 2012

The Trouble With FSUB

It's not often you get a really nasty surprise when writing software, and even less often that the nasty surprise is lurking in the compiler (or assembler). It turns out that the Gnu assembler does not treat the operands of instructions such as fsub and fdiv uniformly - in fact, some of the time it does the opposite of what you instruct it to do.

Friday, 2 March 2012

Thursday, 1 March 2012

A Caesar Cypher? Using SIMD? Why?

There's no easy answer to that. I had applied to join a group on some social networking site which was for assembly language programmers, and to check that I hadn't got them confused with a flat-pack furnishings fanciers, the polite email asked whether I would send them a simple encryption routine written in assembly which didn't rely on xor. Since I seem to be playing with vector instructions, I thought I'd have a go using some SSE (<=4.1) instructions.