OSDN Git Service

Implement halving add idiom (with checker tests).
authorAart Bik <ajcbik@google.com>
Thu, 13 Apr 2017 00:09:20 +0000 (17:09 -0700)
committerAart Bik <ajcbik@google.com>
Wed, 19 Apr 2017 17:30:57 +0000 (10:30 -0700)
commitf3e61ee363fe7f82ef56704f06d753e2034a67dd
treea00f1fce4a2e284b0a03f941f530afc5b5c56b59
parent741a81af441cbcb7255229bf250bc009d2894e92
Implement halving add idiom (with checker tests).

Rationale:
First of several idioms that map to very efficient SIMD instructions.
Note that the is-zero-ext and is-sign-ext are general-purpose utilities
that will be widely used in the vectorizer to detect low precision
idioms, so expect that code to be shared with many CLs to come.

Test: test-art-host, test-art-target
Change-Id: If7dc2926c72a2e4b5cea15c44ef68cf5503e9be9
31 files changed:
compiler/optimizing/code_generator_vector_arm.cc
compiler/optimizing/code_generator_vector_arm64.cc
compiler/optimizing/code_generator_vector_arm_vixl.cc
compiler/optimizing/code_generator_vector_mips.cc
compiler/optimizing/code_generator_vector_mips64.cc
compiler/optimizing/code_generator_vector_x86.cc
compiler/optimizing/code_generator_vector_x86_64.cc
compiler/optimizing/graph_visualizer.cc
compiler/optimizing/induction_var_range.cc
compiler/optimizing/loop_optimization.cc
compiler/optimizing/loop_optimization.h
compiler/optimizing/nodes.h
compiler/optimizing/nodes_vector.h
test/646-checker-hadd-alt-byte/expected.txt [new file with mode: 0644]
test/646-checker-hadd-alt-byte/info.txt [new file with mode: 0644]
test/646-checker-hadd-alt-byte/src/Main.java [new file with mode: 0644]
test/646-checker-hadd-alt-char/expected.txt [new file with mode: 0644]
test/646-checker-hadd-alt-char/info.txt [new file with mode: 0644]
test/646-checker-hadd-alt-char/src/Main.java [new file with mode: 0644]
test/646-checker-hadd-alt-short/expected.txt [new file with mode: 0644]
test/646-checker-hadd-alt-short/info.txt [new file with mode: 0644]
test/646-checker-hadd-alt-short/src/Main.java [new file with mode: 0644]
test/646-checker-hadd-byte/expected.txt [new file with mode: 0644]
test/646-checker-hadd-byte/info.txt [new file with mode: 0644]
test/646-checker-hadd-byte/src/Main.java [new file with mode: 0644]
test/646-checker-hadd-char/expected.txt [new file with mode: 0644]
test/646-checker-hadd-char/info.txt [new file with mode: 0644]
test/646-checker-hadd-char/src/Main.java [new file with mode: 0644]
test/646-checker-hadd-short/expected.txt [new file with mode: 0644]
test/646-checker-hadd-short/info.txt [new file with mode: 0644]
test/646-checker-hadd-short/src/Main.java [new file with mode: 0644]