[PATCH] mp3lib/dct64_sse.c: Explicitly use short versions of fist, fistp instructions
Hi; mp3lib/dct64_sse.c uses fist and fistp instructions without explicitly providing a length. Gas just maps this to the short version. Clang doesn't do this automatically and it shouldn't. Attached patch fixes this by using fists/fistps instructions explicitly. Please review & apply. Regards, ismail
On Sat, Nov 6, 2010 at 11:30 AM, İsmail Dönmez <ismail@namtrac.org> wrote:
Hi;
mp3lib/dct64_sse.c uses fist and fistp instructions without explicitly providing a length. Gas just maps this to the short version. Clang doesn't do this automatically and it shouldn't. Attached patch fixes this by using fists/fistps instructions explicitly.
Please review & apply.
Ooops a small problem in the comment creeped in, use this version instead. Regards, ismail
ping? On Sat, Nov 6, 2010 at 11:34 AM, İsmail Dönmez <ismail@namtrac.org> wrote:
On Sat, Nov 6, 2010 at 11:30 AM, İsmail Dönmez <ismail@namtrac.org> wrote:
Hi;
mp3lib/dct64_sse.c uses fist and fistp instructions without explicitly providing a length. Gas just maps this to the short version. Clang doesn't do this automatically and it shouldn't. Attached patch fixes this by using fists/fistps instructions explicitly.
Please review & apply.
Ooops a small problem in the comment creeped in, use this version instead.
Regards, ismail
On Sat, Nov 6, 2010 at 11:30 AM, İsmail Dönmez <ismail@namtrac.org> wrote:
Hi;
mp3lib/dct64_sse.c uses fist and fistp instructions without explicitly providing a length. Gas just maps this to the short version. Clang doesn't do this automatically and it shouldn't. Attached patch fixes this by using fists/fistps instructions explicitly.
Please review & apply.
I can confirm the binary does not change here with GCC (the ASM related is well assembled). I'm not qualified to review that stuff, but I have two small questions: - clang indeed assembles it differently, but both version compiles: then, could you describe a bit what's wrong with current version? - are you sure about your patch? It seems not to apply very well: patching file mp3lib/dct64_sse.c patch unexpectedly ends in middle of line Hunk #2 succeeded at 310 with fuzz 1. Regards, -- Clément B. Not sent from a jesusPhone.
Hi; On Tue, Nov 9, 2010 at 12:37 AM, Clément Bœsch <ubitux@gmail.com> wrote:
On Sat, Nov 6, 2010 at 11:30 AM, İsmail Dönmez <ismail@namtrac.org> wrote:
Hi;
mp3lib/dct64_sse.c uses fist and fistp instructions without explicitly providing a length. Gas just maps this to the short version. Clang doesn't do this automatically and it shouldn't. Attached patch fixes this by using fists/fistps instructions explicitly.
Please review & apply.
I can confirm the binary does not change here with GCC (the ASM related is well assembled). I'm not qualified to review that stuff, but I have two small questions:
- clang indeed assembles it differently, but both version compiles: then, could you describe a bit what's wrong with current version?
clang was compiling it as fistl/fistpl, I reported the bug to clang and now they reject code since its ambiguous.
- are you sure about your patch? It seems not to apply very well:
patching file mp3lib/dct64_sse.c patch unexpectedly ends in middle of line Hunk #2 succeeded at 310 with fuzz 1.
I just did an svn diff, and it applies cleanly here, I am attaching again in case its malformed. Regards, ismail
İsmail Dönmez <ismail <at> namtrac.org> writes:
mp3lib/dct64_sse.c uses fist and fistp instructions without explicitly providing a length. Gas just maps this to the short version. Clang doesn't do this automatically and it shouldn't. Attached patch fixes this by using fists/fistps instructions explicitly.
Patch applied. Please consider fixing your line length, Carl Eugen
İsmail Dönmez <ismail <at> namtrac.org> writes:
mp3lib/dct64_sse.c uses fist and fistp instructions without explicitly providing a length. Gas just maps this to the short version. Clang doesn't do this automatically and it shouldn't. Attached patch fixes this by using fists/fistps instructions explicitly.
Please review & apply.
I will apply this patch if nobody objects. Carl Eugen
participants (3)
-
Carl Eugen Hoyos -
Clément Bœsch -
İsmail Dönmez