------- Comment #16 from steven at gcc dot gnu dot org 2010-07-21 08:22 ------- OK, I think I finally understand what Alexander tried to explain, and I've annotated the code. Alexander, does this look right to you?
f1: // vector int f1(vector int t) .mmi mov r15 = r12 // 30: r12 = @temp1 mov r14 = r12 // 29: r14 = @temp1 addl r16 = 1, r0 // 34: r16 = 1 ;; .mmi st8 [r15] = r32, 8 // 36: temp1[0:1] = t[0:1], r...@temp[2] ;; st8 [r15] = r33, -4 // 37: temp1[2:3] = t[2:3], r...@temp[1] nop 0 .mii ld8 r8 = [r14], 8 // 21: r8 = temp[0:1] nop 0 ;; nop 0 .mmb ld8 r9 = [r14] // 28: r9 = temp[2:3] st4 [r15] = r16 // 9: temp[1] = 1 br.ret.sptk.many b0 // 40: return r8:r9 .endp f1# -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43494