https://github.com/tanakamura/waifu2x-converter-cpp/tree/simd_improve

やる気が出てきたのでチューニングしなおした。(バイナリは http://int.main.jp/files/waifu2x-converter_x64_1101.zip )

cpu before[GFLOPS] after[GFLOPS] improvements[%] efficiency[%] theoretical peak[GFLOPS] 備考
i7-6700(Skylake TB無し3.4G固定 4C8T) 259.3 359.8 38.8 82.7 435.2
Tegra4(Cortex-A15 1.6GHz x 4) 11.3 21.2 87.6 41.2 51.392 クロックは変動大きいのであやしい
Snapdragon 410(Cortex-A53 1.21GHz x4) 6.37 9.46 48.5 24.4 38.72
Celeron 2955U(Haswell 1.4GHz 2C SSE) 16.7 17.5 4.7 78.1 22.4
i7-4700MQ(Haswell TB無し2.4GHz固定 4C8T) 145.0 245.0 63.3 79.8 307.2
BCM2836(Cortex-A7x2 900MHz) 2.41 3.78 56.8 52.5 7.2
Core2 Duo 1.4GHz 11.2 12.3 9.8 54.9 22.4
MT8173(Cortex-A72x2 1.989GHz 32bit) 13.3 18.4 38.3 57.8 31.824 周波数はCPU-Z目視
MT8173(Cortex-A72x2 1.989GHz 64bit) 15.8 15.2 -3.8 47.8 31.824 周波数はCPU-Z目視


性能は、ファイル入出力を含まない(runbenchの値)

SSEは良くなると思ったが、Atomでは悪くなっている。これはSSEではbroadcastが弱くてロード+shuffleになってしまうから。Atomは2issueなので命令が増えた分そのまま遅くなってしまう。
まあAtomOpenCLのほうが確実にはやいから忘れよう。