-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
llvm-as mis-reads some negative integers #1617
Comments
Note, that -93 is 0xFFF...FE3 and -29 is 0xFFFF...FA3. APInt issues? |
Err. Vice-versa. A3 and E3 |
Well. The problem is definitely APInt issue. Let's look into {NInteger} rule in |
One more addition. In any of such bad cases executing getSExtValue() before |
This is definitely a bug in APInt::getMinSignedBits(). For some values it is |
This problem only affected negative integers whose "next to last" significant This simple patch fixes it: |
mentioned in issue llvm/llvm-bugzilla-archive#1246 |
Unify the code that updates the ArchSpec after finding a fat binary
Extended Description
Consider the attached .ll file.
Do:
llvm-as foo.ll -o - | ./llvm-dif -o foo-cmp.ll
I have (x86-linux):
....
@@ -321,7 +321,7 @@
%ov7 = xor i32 %ov18_cc, 251 ; [#uses=3]
%ov41 = xor i32 %ov7, 116 ; [#uses=1]
%ov63 = sub i32 139, %ov7 ; [#uses=2]
and so on. Valgrind is quite. It's definitely an assembler bug, since output
binary code is broken.
The text was updated successfully, but these errors were encountered: