BugFix: sign extension code erroniously overwrites upper bits
BugFix: sign extension code erroniously overwrites upper bits

[r7291]

8l/libfirm,killbug2004/libfirm,davidgiven/libfirm,davidgiven/libfirm,jonashaag/libfirm,killbug2004/libfirm,8l/libfirm,davidgiven/libfirm,jonashaag/libfirm,MatzeB/libfirm,MatzeB/libfirm,jonashaag/libfirm,MatzeB/libfirm,killbug2004/libfirm,libfirm/libfirm,davidgiven/libfirm,jonashaag/libfirm,libfirm/libfirm,libfirm/libfirm,jonashaag/libfirm,8l/libfirm,MatzeB/libfirm,killbug2004/libfirm,8l/libfirm,MatzeB/libfirm,MatzeB/libfirm,libfirm/libfirm,killbug2004/libfirm,libfirm/libfirm,8l/libfirm,MatzeB/libfirm,8l/libfirm,8l/libfirm,davidgiven/libfirm,killbug2004/libfirm,jonashaag/libfirm,davidgiven/libfirm,davidgiven/libfirm,jonashaag/libfirm,killbug2004/libfirm