Implemented conditional branching.
Fixed a bug regarding address printing:
  The bug was not that straightforward. Two things:
    We may not use GO_IF_LEGITIMATE_ADDRESS any more.
    Use TARGET_LEGITIMIZE_ADDRESS/TARGET_LEGITIMATE_ADDRESS_P instead

  The idea is to have a function which tells us whether an instruction is good to be
  an address (it matches any arch way to load/store values)
  And another one which can "convert" or "expand" the RTL expression into another
  valid expression in case it is not valid.

  // Also I learned how to debug RTX in the code, so I can take a look at what the hell
  RTX expression is causing problems.

  It works and compiles some libgcc files. It lacks byte support though, which causes memcopy operations
  to fail due to only 4 byte copy being available
More or less usable.

Adding support for Mov word and byte. Need to extend support further.
Some mess with operand names for the different modes...
Address generation is still not fixed though. I need to run tests as soon as possible
Added some stuff for better support in libgcc (opts)
Added all conditional jumps.
Fixed multiple dialects.
Fixed address validation (thanks to gcc mailing list)
Fixed comparison restrictions.
Added QI mode addressing: improved support for register subsets. This is ECX for shifts and ABCD for byte mode.
Also added HI mode