I guess the movsf_softfloat pattern needs a "h" <- "0" case. Janis, you can try adding that to the end of the pattern following movsi_internal1 as an example (the instruction is a nop). For some reason GCC needs a pattern moving a register to itself. David