public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "gchernis11 at msn dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/26445] New: SSE byte-by-byte load instruction fails to compile Date: Thu, 23 Feb 2006 16:05:00 -0000 [thread overview] Message-ID: <bug-26445-12250@http.gcc.gnu.org/bugzilla/> (raw) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 2680 bytes --] Call to the following function ... /*inline */ void ConvertFloatSSE(void *inBuff, void *outBuff, int len) { unsigned char* inByteBuffer = reinterpret_cast<unsigned char *>(inBuff); float* outFloatBuffer = reinterpret_cast<float *>(outBuff); for(int i = 0; i<len/4; i++) { __m128i register1 = _mm_set_epi8( *inByteBuffer , *(inByteBuffer+ 1), *(inByteBuffer+ 2), 0, *(inByteBuffer+3), *(inByteBuffer+ 4), *(inByteBuffer+ 5), 0, *(inByteBuffer+6), *(inByteBuffer+ 7), *(inByteBuffer+ 8), 0, *(inByteBuffer+9), *(inByteBuffer+10), *(inByteBuffer+11), 0 ); __m128i register2 = _mm_srai_epi32 (register1, 8); __m128 register3 = _mm_cvtepi32_ps (register2); _mm_store_ps (outFloatBuffer, register3); outFloatBuffer += 4; inByteBuffer += 12; } } generates... ************************************************************************************************************************************ if g++ -DHAVE_CONFIG_H -I. -I/home/gchernis/tryswap/src -I.. -O1 -g0 -Wall -march=opteron -MT tryswap.o -MD -MP -MF ".deps/tryswap.Tpo" -c -o tryswap.o /home/gchernis/tryswap/src/tryswap.cpp; then mv -f ".deps/tryswap.Tpo" ".deps/tryswap.Po"; else rm -f ".deps/tryswap.Tpo"; exit 1; fi /home/gchernis/tryswap/src/tryswap.cpp: In function void ConvertFloatSSE(void*, void*, int): /home/gchernis/tryswap/src/tryswap.cpp:189: error: unable to find a register to spill in class GENERAL_REGS /home/gchernis/tryswap/src/tryswap.cpp:189: error: this is the insn: (insn 90 89 91 2 (parallel [ (set (subreg:DI (reg:V16QI 21 xmm0 [102]) 0) (ashift:DI (reg:DI 1 dx [90]) (const_int 8 [0x8]))) (clobber (reg:CC 17 flags)) ]) 394 {*ashldi3_1_rex64} (insn_list:REG_DEP_TRUE 66 (nil)) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_DEAD (reg:DI 1 dx [90]) (nil))))) /home/gchernis/tryswap/src/tryswap.cpp:189: confused by earlier errors, bailing out gmake[2]: *** [tryswap.o] Error 1 gmake[1]: *** [all-recursive] Error 1 gmake: *** [all] Error 2 *** Exited with status: 2 *** -- Summary: SSE byte-by-byte load instruction fails to compile Product: gcc Version: 4.0.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gchernis11 at msn dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26445
next reply other threads:[~2006-02-23 16:05 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2006-02-23 16:05 gchernis11 at msn dot com [this message] 2006-02-24 13:15 ` [Bug target/26445] " pinskia at gcc dot gnu dot org 2006-02-25 17:07 ` pinskia at gcc dot gnu dot org 2006-03-03 20:45 ` gchernis11 at msn dot com 2006-03-03 20:48 ` gchernis11 at msn dot com 2006-03-03 20:54 ` pinskia at gcc dot gnu dot org 2006-03-07 22:33 ` gchernis11 at msn dot com 2006-03-13 16:43 ` gchernis11 at msn dot com 2008-04-21 18:42 ` uros at gcc dot gnu dot org 2008-04-21 18:44 ` ubizjak at gmail dot com
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-26445-12250@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).