void PDJPG_TransDCT_Vert(int *iblk, int *oblk) {
  oblk[0] = iblk[0] * 91 + iblk[8] * 91 + iblk[16] * 91 + iblk[24] * 91 +
            iblk[32] * 91 + iblk[40] * 91 + iblk[48] * 91 + iblk[56] * 91;
  oblk[8] = iblk[0] * 126 + iblk[8] * 106 + iblk[16] * 71 + iblk[24] * 25 -
            iblk[32] * 25 - iblk[40] * 71 - iblk[48] * 106 - iblk[56] * 126;
  oblk[16] = iblk[0] * 118 + iblk[8] * 49 - iblk[16] * 49 - iblk[24] * 118 -
             iblk[32] * 118 - iblk[40] * 49 + iblk[48] * 49 + iblk[56] * 118;
  oblk[24] = iblk[0] * 106 - iblk[8] * 25 - iblk[16] * 126 - iblk[24] * 71 +
             iblk[32] * 71 + iblk[40] * 126 + iblk[48] * 25 - iblk[56] * 106;
  oblk[32] = iblk[0] * 91 - iblk[8] * 91 - iblk[16] * 91 + iblk[24] * 91 +
             iblk[32] * 91 - iblk[40] * 91 - iblk[48] * 91 + iblk[56] * 91;
  oblk[40] = iblk[0] * 71 - iblk[8] * 126 + iblk[16] * 25 + iblk[24] * 106 -
             iblk[32] * 106 - iblk[40] * 25 + iblk[48] * 126 - iblk[56] * 71;
  oblk[48] = iblk[0] * 49 - iblk[8] * 118 + iblk[16] * 118 - iblk[24] * 49 -
             iblk[32] * 49 + iblk[40] * 118 - iblk[48] * 118 + iblk[56] * 49;
  oblk[56] = iblk[0] * 25 - iblk[8] * 71 + iblk[16] * 106 - iblk[24] * 126 +
             iblk[32] * 126 - iblk[40] * 106 + iblk[48] * 71 - iblk[56] * 25;
}


x86 assembly (clang, -O0):
<PDJPG_TransDCT_Vert>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x8(%rbp),%rax
imul   $0x5b,(%rax),%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0x20(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0x40(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0x60(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0x80(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0xa0(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0xc0(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0xe0(%rax),%eax
add    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x8(%rbp),%rax
imul   $0x7e,(%rax),%ecx
mov    -0x8(%rbp),%rax
imul   $0x6a,0x20(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x47,0x40(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x19,0x60(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x19,0x80(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x47,0xa0(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x6a,0xc0(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x7e,0xe0(%rax),%eax
sub    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x20(%rax)
mov    -0x8(%rbp),%rax
imul   $0x76,(%rax),%ecx
mov    -0x8(%rbp),%rax
imul   $0x31,0x20(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x31,0x40(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x76,0x60(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x76,0x80(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x31,0xa0(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x31,0xc0(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x76,0xe0(%rax),%eax
add    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x40(%rax)
mov    -0x8(%rbp),%rax
imul   $0x6a,(%rax),%ecx
mov    -0x8(%rbp),%rax
imul   $0x19,0x20(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x7e,0x40(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x47,0x60(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x47,0x80(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x7e,0xa0(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x19,0xc0(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x6a,0xe0(%rax),%eax
sub    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x60(%rax)
mov    -0x8(%rbp),%rax
imul   $0x5b,(%rax),%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0x20(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0x40(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0x60(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0x80(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0xa0(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0xc0(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x5b,0xe0(%rax),%eax
add    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x80(%rax)
mov    -0x8(%rbp),%rax
imul   $0x47,(%rax),%ecx
mov    -0x8(%rbp),%rax
imul   $0x7e,0x20(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x19,0x40(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x6a,0x60(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x6a,0x80(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x19,0xa0(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x7e,0xc0(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x47,0xe0(%rax),%eax
sub    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xa0(%rax)
mov    -0x8(%rbp),%rax
imul   $0x31,(%rax),%ecx
mov    -0x8(%rbp),%rax
imul   $0x76,0x20(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x76,0x40(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x31,0x60(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x31,0x80(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x76,0xa0(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x76,0xc0(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x31,0xe0(%rax),%eax
add    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xc0(%rax)
mov    -0x8(%rbp),%rax
imul   $0x19,(%rax),%ecx
mov    -0x8(%rbp),%rax
imul   $0x47,0x20(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x6a,0x40(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x7e,0x60(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x7e,0x80(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x6a,0xa0(%rax),%eax
sub    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x47,0xc0(%rax),%eax
add    %eax,%ecx
mov    -0x8(%rbp),%rax
imul   $0x19,0xe0(%rax),%eax
sub    %eax,%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xe0(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<PDJPG_TransDCT_Vert>:
mov    0x20(%rdi),%eax
add    (%rdi),%eax
add    0x40(%rdi),%eax
add    0x60(%rdi),%eax
add    0x80(%rdi),%eax
add    0xa0(%rdi),%eax
add    0xc0(%rdi),%eax
add    0xe0(%rdi),%eax
imul   $0x5b,%eax,%eax
mov    %eax,(%rsi)
mov    (%rdi),%eax
mov    0x20(%rdi),%r8d
mov    0x60(%rdi),%edx
sub    0x80(%rdi),%edx
mov    0x40(%rdi),%ecx
lea    (%rdx,%rdx,4),%edx
sub    0xa0(%rdi),%ecx
lea    (%rdx,%rdx,4),%edx
imul   $0x47,%ecx,%ecx
sub    0xc0(%rdi),%r8d
add    %edx,%ecx
imul   $0x6a,%r8d,%edx
sub    0xe0(%rdi),%eax
add    %ecx,%edx
mov    %eax,%ecx
shl    $0x7,%ecx
sub    %eax,%ecx
sub    %eax,%ecx
add    %edx,%ecx
mov    %ecx,0x20(%rsi)
mov    0x20(%rdi),%eax
mov    0x40(%rdi),%ecx
mov    0x60(%rdi),%edx
add    0xa0(%rdi),%ecx
sub    %ecx,%eax
add    0xc0(%rdi),%eax
add    0x80(%rdi),%edx
mov    (%rdi),%ecx
sub    %edx,%ecx
add    0xe0(%rdi),%ecx
imul   $0x31,%eax,%eax
imul   $0x76,%ecx,%ecx
add    %eax,%ecx
mov    %ecx,0x40(%rsi)
mov    (%rdi),%r8d
mov    0x80(%rdi),%ecx
mov    0xa0(%rdi),%eax
mov    0xc0(%rdi),%r9d
sub    0x60(%rdi),%ecx
sub    0x40(%rdi),%eax
imul   $0x47,%ecx,%ecx
mov    %eax,%edx
shl    $0x7,%edx
sub    %eax,%edx
sub    %eax,%edx
add    %ecx,%edx
sub    0x20(%rdi),%r9d
lea    (%r9,%r9,4),%eax
lea    (%rax,%rax,4),%eax
add    %edx,%eax
sub    0xe0(%rdi),%r8d
imul   $0x6a,%r8d,%ecx
add    %eax,%ecx
mov    %ecx,0x60(%rsi)
mov    (%rdi),%eax
mov    0x20(%rdi),%ecx
add    0x40(%rdi),%ecx
sub    %ecx,%eax
add    0x60(%rdi),%eax
add    0x80(%rdi),%eax
mov    0xa0(%rdi),%ecx
add    0xc0(%rdi),%ecx
sub    %ecx,%eax
add    0xe0(%rdi),%eax
imul   $0x5b,%eax,%eax
mov    %eax,0x80(%rsi)
mov    (%rdi),%r8d
mov    0x40(%rdi),%ecx
mov    0x60(%rdi),%edx
mov    0xc0(%rdi),%eax
sub    0x80(%rdi),%edx
sub    0xa0(%rdi),%ecx
imul   $0x6a,%edx,%edx
lea    (%rcx,%rcx,4),%ecx
lea    (%rcx,%rcx,4),%ecx
add    %edx,%ecx
sub    0x20(%rdi),%eax
mov    %eax,%edx
shl    $0x7,%edx
sub    %eax,%edx
sub    %eax,%edx
add    %ecx,%edx
sub    0xe0(%rdi),%r8d
imul   $0x47,%r8d,%eax
add    %edx,%eax
mov    %eax,0xa0(%rsi)
mov    (%rdi),%eax
mov    0x20(%rdi),%ecx
mov    0x40(%rdi),%edx
add    0xa0(%rdi),%edx
mov    0x60(%rdi),%r8d
add    0xc0(%rdi),%ecx
sub    %ecx,%edx
imul   $0x76,%edx,%ecx
add    0x80(%rdi),%r8d
sub    %r8d,%eax
add    0xe0(%rdi),%eax
imul   $0x31,%eax,%eax
add    %ecx,%eax
mov    %eax,0xc0(%rsi)
mov    (%rdi),%r8d
mov    0x40(%rdi),%ecx
mov    0x80(%rdi),%eax
mov    0xc0(%rdi),%r9d
sub    0x60(%rdi),%eax
mov    %eax,%edx
shl    $0x7,%edx
sub    %eax,%edx
sub    %eax,%edx
sub    0xa0(%rdi),%ecx
imul   $0x6a,%ecx,%eax
add    %edx,%eax
sub    0x20(%rdi),%r9d
imul   $0x47,%r9d,%ecx
add    %eax,%ecx
sub    0xe0(%rdi),%r8d
lea    (%r8,%r8,4),%eax
lea    (%rax,%rax,4),%eax
add    %ecx,%eax
mov    %eax,0xe0(%rsi)
ret

LLVM IR (-O0):
define void @PDJPG_TransDCT_Vert(i32* %0, i32* %1) {
%3 = alloca i32*
%4 = alloca i32*
store i32* %0, i32** %3
store i32* %1, i32** %4
%5 = load i32*, i32** %3
%6 = getelementptr inbounds i32, i32* %5, i64 0
%7 = load i32, i32* %6
%8 = mul nsw i32 %7, 91
%9 = load i32*, i32** %3
%10 = getelementptr inbounds i32, i32* %9, i64 8
%11 = load i32, i32* %10
%12 = mul nsw i32 %11, 91
%13 = add nsw i32 %8, %12
%14 = load i32*, i32** %3
%15 = getelementptr inbounds i32, i32* %14, i64 16
%16 = load i32, i32* %15
%17 = mul nsw i32 %16, 91
%18 = add nsw i32 %13, %17
%19 = load i32*, i32** %3
%20 = getelementptr inbounds i32, i32* %19, i64 24
%21 = load i32, i32* %20
%22 = mul nsw i32 %21, 91
%23 = add nsw i32 %18, %22
%24 = load i32*, i32** %3
%25 = getelementptr inbounds i32, i32* %24, i64 32
%26 = load i32, i32* %25
%27 = mul nsw i32 %26, 91
%28 = add nsw i32 %23, %27
%29 = load i32*, i32** %3
%30 = getelementptr inbounds i32, i32* %29, i64 40
%31 = load i32, i32* %30
%32 = mul nsw i32 %31, 91
%33 = add nsw i32 %28, %32
%34 = load i32*, i32** %3
%35 = getelementptr inbounds i32, i32* %34, i64 48
%36 = load i32, i32* %35
%37 = mul nsw i32 %36, 91
%38 = add nsw i32 %33, %37
%39 = load i32*, i32** %3
%40 = getelementptr inbounds i32, i32* %39, i64 56
%41 = load i32, i32* %40
%42 = mul nsw i32 %41, 91
%43 = add nsw i32 %38, %42
%44 = load i32*, i32** %4
%45 = getelementptr inbounds i32, i32* %44, i64 0
store i32 %43, i32* %45
%46 = load i32*, i32** %3
%47 = getelementptr inbounds i32, i32* %46, i64 0
%48 = load i32, i32* %47
%49 = mul nsw i32 %48, 126
%50 = load i32*, i32** %3
%51 = getelementptr inbounds i32, i32* %50, i64 8
%52 = load i32, i32* %51
%53 = mul nsw i32 %52, 106
%54 = add nsw i32 %49, %53
%55 = load i32*, i32** %3
%56 = getelementptr inbounds i32, i32* %55, i64 16
%57 = load i32, i32* %56
%58 = mul nsw i32 %57, 71
%59 = add nsw i32 %54, %58
%60 = load i32*, i32** %3
%61 = getelementptr inbounds i32, i32* %60, i64 24
%62 = load i32, i32* %61
%63 = mul nsw i32 %62, 25
%64 = add nsw i32 %59, %63
%65 = load i32*, i32** %3
%66 = getelementptr inbounds i32, i32* %65, i64 32
%67 = load i32, i32* %66
%68 = mul nsw i32 %67, 25
%69 = sub nsw i32 %64, %68
%70 = load i32*, i32** %3
%71 = getelementptr inbounds i32, i32* %70, i64 40
%72 = load i32, i32* %71
%73 = mul nsw i32 %72, 71
%74 = sub nsw i32 %69, %73
%75 = load i32*, i32** %3
%76 = getelementptr inbounds i32, i32* %75, i64 48
%77 = load i32, i32* %76
%78 = mul nsw i32 %77, 106
%79 = sub nsw i32 %74, %78
%80 = load i32*, i32** %3
%81 = getelementptr inbounds i32, i32* %80, i64 56
%82 = load i32, i32* %81
%83 = mul nsw i32 %82, 126
%84 = sub nsw i32 %79, %83
%85 = load i32*, i32** %4
%86 = getelementptr inbounds i32, i32* %85, i64 8
store i32 %84, i32* %86
%87 = load i32*, i32** %3
%88 = getelementptr inbounds i32, i32* %87, i64 0
%89 = load i32, i32* %88
%90 = mul nsw i32 %89, 118
%91 = load i32*, i32** %3
%92 = getelementptr inbounds i32, i32* %91, i64 8
%93 = load i32, i32* %92
%94 = mul nsw i32 %93, 49
%95 = add nsw i32 %90, %94
%96 = load i32*, i32** %3
%97 = getelementptr inbounds i32, i32* %96, i64 16
%98 = load i32, i32* %97
%99 = mul nsw i32 %98, 49
%100 = sub nsw i32 %95, %99
%101 = load i32*, i32** %3
%102 = getelementptr inbounds i32, i32* %101, i64 24
%103 = load i32, i32* %102
%104 = mul nsw i32 %103, 118
%105 = sub nsw i32 %100, %104
%106 = load i32*, i32** %3
%107 = getelementptr inbounds i32, i32* %106, i64 32
%108 = load i32, i32* %107
%109 = mul nsw i32 %108, 118
%110 = sub nsw i32 %105, %109
%111 = load i32*, i32** %3
%112 = getelementptr inbounds i32, i32* %111, i64 40
%113 = load i32, i32* %112
%114 = mul nsw i32 %113, 49
%115 = sub nsw i32 %110, %114
%116 = load i32*, i32** %3
%117 = getelementptr inbounds i32, i32* %116, i64 48
%118 = load i32, i32* %117
%119 = mul nsw i32 %118, 49
%120 = add nsw i32 %115, %119
%121 = load i32*, i32** %3
%122 = getelementptr inbounds i32, i32* %121, i64 56
%123 = load i32, i32* %122
%124 = mul nsw i32 %123, 118
%125 = add nsw i32 %120, %124
%126 = load i32*, i32** %4
%127 = getelementptr inbounds i32, i32* %126, i64 16
store i32 %125, i32* %127
%128 = load i32*, i32** %3
%129 = getelementptr inbounds i32, i32* %128, i64 0
%130 = load i32, i32* %129
%131 = mul nsw i32 %130, 106
%132 = load i32*, i32** %3
%133 = getelementptr inbounds i32, i32* %132, i64 8
%134 = load i32, i32* %133
%135 = mul nsw i32 %134, 25
%136 = sub nsw i32 %131, %135
%137 = load i32*, i32** %3
%138 = getelementptr inbounds i32, i32* %137, i64 16
%139 = load i32, i32* %138
%140 = mul nsw i32 %139, 126
%141 = sub nsw i32 %136, %140
%142 = load i32*, i32** %3
%143 = getelementptr inbounds i32, i32* %142, i64 24
%144 = load i32, i32* %143
%145 = mul nsw i32 %144, 71
%146 = sub nsw i32 %141, %145
%147 = load i32*, i32** %3
%148 = getelementptr inbounds i32, i32* %147, i64 32
%149 = load i32, i32* %148
%150 = mul nsw i32 %149, 71
%151 = add nsw i32 %146, %150
%152 = load i32*, i32** %3
%153 = getelementptr inbounds i32, i32* %152, i64 40
%154 = load i32, i32* %153
%155 = mul nsw i32 %154, 126
%156 = add nsw i32 %151, %155
%157 = load i32*, i32** %3
%158 = getelementptr inbounds i32, i32* %157, i64 48
%159 = load i32, i32* %158
%160 = mul nsw i32 %159, 25
%161 = add nsw i32 %156, %160
%162 = load i32*, i32** %3
%163 = getelementptr inbounds i32, i32* %162, i64 56
%164 = load i32, i32* %163
%165 = mul nsw i32 %164, 106
%166 = sub nsw i32 %161, %165
%167 = load i32*, i32** %4
%168 = getelementptr inbounds i32, i32* %167, i64 24
store i32 %166, i32* %168
%169 = load i32*, i32** %3
%170 = getelementptr inbounds i32, i32* %169, i64 0
%171 = load i32, i32* %170
%172 = mul nsw i32 %171, 91
%173 = load i32*, i32** %3
%174 = getelementptr inbounds i32, i32* %173, i64 8
%175 = load i32, i32* %174
%176 = mul nsw i32 %175, 91
%177 = sub nsw i32 %172, %176
%178 = load i32*, i32** %3
%179 = getelementptr inbounds i32, i32* %178, i64 16
%180 = load i32, i32* %179
%181 = mul nsw i32 %180, 91
%182 = sub nsw i32 %177, %181
%183 = load i32*, i32** %3
%184 = getelementptr inbounds i32, i32* %183, i64 24
%185 = load i32, i32* %184
%186 = mul nsw i32 %185, 91
%187 = add nsw i32 %182, %186
%188 = load i32*, i32** %3
%189 = getelementptr inbounds i32, i32* %188, i64 32
%190 = load i32, i32* %189
%191 = mul nsw i32 %190, 91
%192 = add nsw i32 %187, %191
%193 = load i32*, i32** %3
%194 = getelementptr inbounds i32, i32* %193, i64 40
%195 = load i32, i32* %194
%196 = mul nsw i32 %195, 91
%197 = sub nsw i32 %192, %196
%198 = load i32*, i32** %3
%199 = getelementptr inbounds i32, i32* %198, i64 48
%200 = load i32, i32* %199
%201 = mul nsw i32 %200, 91
%202 = sub nsw i32 %197, %201
%203 = load i32*, i32** %3
%204 = getelementptr inbounds i32, i32* %203, i64 56
%205 = load i32, i32* %204
%206 = mul nsw i32 %205, 91
%207 = add nsw i32 %202, %206
%208 = load i32*, i32** %4
%209 = getelementptr inbounds i32, i32* %208, i64 32
store i32 %207, i32* %209
%210 = load i32*, i32** %3
%211 = getelementptr inbounds i32, i32* %210, i64 0
%212 = load i32, i32* %211
%213 = mul nsw i32 %212, 71
%214 = load i32*, i32** %3
%215 = getelementptr inbounds i32, i32* %214, i64 8
%216 = load i32, i32* %215
%217 = mul nsw i32 %216, 126
%218 = sub nsw i32 %213, %217
%219 = load i32*, i32** %3
%220 = getelementptr inbounds i32, i32* %219, i64 16
%221 = load i32, i32* %220
%222 = mul nsw i32 %221, 25
%223 = add nsw i32 %218, %222
%224 = load i32*, i32** %3
%225 = getelementptr inbounds i32, i32* %224, i64 24
%226 = load i32, i32* %225
%227 = mul nsw i32 %226, 106
%228 = add nsw i32 %223, %227
%229 = load i32*, i32** %3
%230 = getelementptr inbounds i32, i32* %229, i64 32
%231 = load i32, i32* %230
%232 = mul nsw i32 %231, 106
%233 = sub nsw i32 %228, %232
%234 = load i32*, i32** %3
%235 = getelementptr inbounds i32, i32* %234, i64 40
%236 = load i32, i32* %235
%237 = mul nsw i32 %236, 25
%238 = sub nsw i32 %233, %237
%239 = load i32*, i32** %3
%240 = getelementptr inbounds i32, i32* %239, i64 48
%241 = load i32, i32* %240
%242 = mul nsw i32 %241, 126
%243 = add nsw i32 %238, %242
%244 = load i32*, i32** %3
%245 = getelementptr inbounds i32, i32* %244, i64 56
%246 = load i32, i32* %245
%247 = mul nsw i32 %246, 71
%248 = sub nsw i32 %243, %247
%249 = load i32*, i32** %4
%250 = getelementptr inbounds i32, i32* %249, i64 40
store i32 %248, i32* %250
%251 = load i32*, i32** %3
%252 = getelementptr inbounds i32, i32* %251, i64 0
%253 = load i32, i32* %252
%254 = mul nsw i32 %253, 49
%255 = load i32*, i32** %3
%256 = getelementptr inbounds i32, i32* %255, i64 8
%257 = load i32, i32* %256
%258 = mul nsw i32 %257, 118
%259 = sub nsw i32 %254, %258
%260 = load i32*, i32** %3
%261 = getelementptr inbounds i32, i32* %260, i64 16
%262 = load i32, i32* %261
%263 = mul nsw i32 %262, 118
%264 = add nsw i32 %259, %263
%265 = load i32*, i32** %3
%266 = getelementptr inbounds i32, i32* %265, i64 24
%267 = load i32, i32* %266
%268 = mul nsw i32 %267, 49
%269 = sub nsw i32 %264, %268
%270 = load i32*, i32** %3
%271 = getelementptr inbounds i32, i32* %270, i64 32
%272 = load i32, i32* %271
%273 = mul nsw i32 %272, 49
%274 = sub nsw i32 %269, %273
%275 = load i32*, i32** %3
%276 = getelementptr inbounds i32, i32* %275, i64 40
%277 = load i32, i32* %276
%278 = mul nsw i32 %277, 118
%279 = add nsw i32 %274, %278
%280 = load i32*, i32** %3
%281 = getelementptr inbounds i32, i32* %280, i64 48
%282 = load i32, i32* %281
%283 = mul nsw i32 %282, 118
%284 = sub nsw i32 %279, %283
%285 = load i32*, i32** %3
%286 = getelementptr inbounds i32, i32* %285, i64 56
%287 = load i32, i32* %286
%288 = mul nsw i32 %287, 49
%289 = add nsw i32 %284, %288
%290 = load i32*, i32** %4
%291 = getelementptr inbounds i32, i32* %290, i64 48
store i32 %289, i32* %291
%292 = load i32*, i32** %3
%293 = getelementptr inbounds i32, i32* %292, i64 0
%294 = load i32, i32* %293
%295 = mul nsw i32 %294, 25
%296 = load i32*, i32** %3
%297 = getelementptr inbounds i32, i32* %296, i64 8
%298 = load i32, i32* %297
%299 = mul nsw i32 %298, 71
%300 = sub nsw i32 %295, %299
%301 = load i32*, i32** %3
%302 = getelementptr inbounds i32, i32* %301, i64 16
%303 = load i32, i32* %302
%304 = mul nsw i32 %303, 106
%305 = add nsw i32 %300, %304
%306 = load i32*, i32** %3
%307 = getelementptr inbounds i32, i32* %306, i64 24
%308 = load i32, i32* %307
%309 = mul nsw i32 %308, 126
%310 = sub nsw i32 %305, %309
%311 = load i32*, i32** %3
%312 = getelementptr inbounds i32, i32* %311, i64 32
%313 = load i32, i32* %312
%314 = mul nsw i32 %313, 126
%315 = add nsw i32 %310, %314
%316 = load i32*, i32** %3
%317 = getelementptr inbounds i32, i32* %316, i64 40
%318 = load i32, i32* %317
%319 = mul nsw i32 %318, 106
%320 = sub nsw i32 %315, %319
%321 = load i32*, i32** %3
%322 = getelementptr inbounds i32, i32* %321, i64 48
%323 = load i32, i32* %322
%324 = mul nsw i32 %323, 71
%325 = add nsw i32 %320, %324
%326 = load i32*, i32** %3
%327 = getelementptr inbounds i32, i32* %326, i64 56
%328 = load i32, i32* %327
%329 = mul nsw i32 %328, 25
%330 = sub nsw i32 %325, %329
%331 = load i32*, i32** %4
%332 = getelementptr inbounds i32, i32* %331, i64 56
store i32 %330, i32* %332
ret void
}

LLVM IR (-O2):
define void @PDJPG_TransDCT_Vert(i32* nocapture %0, i32* nocapture writeonly %1) {
%3 = load i32, i32* %0
%4 = getelementptr inbounds i32, i32* %0, i64 8
%5 = load i32, i32* %4
%6 = add i32 %5, %3
%7 = getelementptr inbounds i32, i32* %0, i64 16
%8 = load i32, i32* %7
%9 = add i32 %6, %8
%10 = getelementptr inbounds i32, i32* %0, i64 24
%11 = load i32, i32* %10
%12 = add i32 %9, %11
%13 = getelementptr inbounds i32, i32* %0, i64 32
%14 = load i32, i32* %13
%15 = add i32 %12, %14
%16 = getelementptr inbounds i32, i32* %0, i64 40
%17 = load i32, i32* %16
%18 = add i32 %15, %17
%19 = getelementptr inbounds i32, i32* %0, i64 48
%20 = load i32, i32* %19
%21 = add i32 %18, %20
%22 = getelementptr inbounds i32, i32* %0, i64 56
%23 = load i32, i32* %22
%24 = add i32 %21, %23
%25 = mul i32 %24, 91
store i32 %25, i32* %1
%26 = load i32, i32* %0
%27 = load i32, i32* %4
%28 = load i32, i32* %7
%29 = load i32, i32* %10
%30 = load i32, i32* %13
%31 = load i32, i32* %16
%32 = load i32, i32* %19
%33 = load i32, i32* %22
%34 = sub i32 %29, %30
%35 = mul i32 %34, 25
%36 = sub i32 %28, %31
%37 = mul i32 %36, 71
%38 = sub i32 %27, %32
%39 = mul i32 %38, 106
%40 = sub i32 %26, %33
%41 = mul i32 %40, 126
%42 = add i32 %37, %35
%43 = add i32 %42, %39
%44 = add i32 %43, %41
%45 = getelementptr inbounds i32, i32* %1, i64 8
store i32 %44, i32* %45
%46 = load i32, i32* %0
%47 = load i32, i32* %4
%48 = load i32, i32* %7
%49 = load i32, i32* %10
%50 = load i32, i32* %13
%51 = load i32, i32* %16
%52 = load i32, i32* %19
%53 = load i32, i32* %22
%54 = add i32 %48, %51
%55 = sub i32 %47, %54
%56 = add i32 %55, %52
%57 = mul i32 %56, 49
%58 = add i32 %49, %50
%59 = sub i32 %46, %58
%60 = add i32 %59, %53
%61 = mul i32 %60, 118
%62 = add i32 %61, %57
%63 = getelementptr inbounds i32, i32* %1, i64 16
store i32 %62, i32* %63
%64 = load i32, i32* %0
%65 = load i32, i32* %4
%66 = load i32, i32* %7
%67 = load i32, i32* %10
%68 = load i32, i32* %13
%69 = load i32, i32* %16
%70 = load i32, i32* %19
%71 = load i32, i32* %22
%72 = sub i32 %68, %67
%73 = mul i32 %72, 71
%74 = sub i32 %69, %66
%75 = mul i32 %74, 126
%76 = sub i32 %70, %65
%77 = mul i32 %76, 25
%78 = sub i32 %64, %71
%79 = mul i32 %78, 106
%80 = add i32 %75, %73
%81 = add i32 %80, %77
%82 = add i32 %81, %79
%83 = getelementptr inbounds i32, i32* %1, i64 24
store i32 %82, i32* %83
%84 = load i32, i32* %0
%85 = load i32, i32* %4
%86 = load i32, i32* %7
%87 = load i32, i32* %10
%88 = load i32, i32* %13
%89 = load i32, i32* %16
%90 = load i32, i32* %19
%91 = load i32, i32* %22
%92 = add i32 %85, %86
%93 = sub i32 %84, %92
%94 = add i32 %93, %87
%95 = add i32 %94, %88
%96 = add i32 %89, %90
%97 = sub i32 %95, %96
%98 = add i32 %97, %91
%99 = mul i32 %98, 91
%100 = getelementptr inbounds i32, i32* %1, i64 32
store i32 %99, i32* %100
%101 = load i32, i32* %0
%102 = load i32, i32* %4
%103 = load i32, i32* %7
%104 = load i32, i32* %10
%105 = load i32, i32* %13
%106 = load i32, i32* %16
%107 = load i32, i32* %19
%108 = load i32, i32* %22
%109 = sub i32 %104, %105
%110 = mul i32 %109, 106
%111 = sub i32 %103, %106
%112 = mul i32 %111, 25
%113 = sub i32 %107, %102
%114 = mul i32 %113, 126
%115 = sub i32 %101, %108
%116 = mul i32 %115, 71
%117 = add i32 %112, %110
%118 = add i32 %117, %114
%119 = add i32 %118, %116
%120 = getelementptr inbounds i32, i32* %1, i64 40
store i32 %119, i32* %120
%121 = load i32, i32* %0
%122 = load i32, i32* %4
%123 = load i32, i32* %7
%124 = load i32, i32* %10
%125 = load i32, i32* %13
%126 = load i32, i32* %16
%127 = load i32, i32* %19
%128 = load i32, i32* %22
%129 = add i32 %123, %126
%130 = add i32 %122, %127
%131 = sub i32 %129, %130
%132 = mul i32 %131, 118
%133 = add i32 %124, %125
%134 = sub i32 %121, %133
%135 = add i32 %134, %128
%136 = mul i32 %135, 49
%137 = add i32 %136, %132
%138 = getelementptr inbounds i32, i32* %1, i64 48
store i32 %137, i32* %138
%139 = load i32, i32* %0
%140 = load i32, i32* %4
%141 = load i32, i32* %7
%142 = load i32, i32* %10
%143 = load i32, i32* %13
%144 = load i32, i32* %16
%145 = load i32, i32* %19
%146 = load i32, i32* %22
%147 = sub i32 %143, %142
%148 = mul i32 %147, 126
%149 = sub i32 %141, %144
%150 = mul i32 %149, 106
%151 = sub i32 %145, %140
%152 = mul i32 %151, 71
%153 = sub i32 %139, %146
%154 = mul i32 %153, 25
%155 = add i32 %150, %148
%156 = add i32 %155, %152
%157 = add i32 %156, %154
%158 = getelementptr inbounds i32, i32* %1, i64 56
store i32 %157, i32* %158
ret void
}