go/src/cmd/compile/internal/gc
Cherry Zhang 257b01f8f4 cmd/compile: use ANDconst to mask out leading/trailing bits on ARM64
For an AND that masks out leading or trailing bits, generic rules
rewrite it to a pair of shifts. On ARM64, the mask actually can
fit into an AND instruction. So we rewrite it back to AND.

Fixes #19857.

Change-Id: I479d7320ae4f29bb3f0056d5979bde4478063a8f
Reviewed-on: https://go-review.googlesource.com/39651
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
2017-04-06 17:59:32 +00:00
..
builtin cmd/compile: intrinsics for math/bits.OnesCount 2017-04-04 02:40:11 +00:00
testdata cmd/compile: use std "DO NOT EDIT" comment for generated files 2017-03-31 18:50:40 +00:00
alg.go cmd/compile: remove Pkglookup in favor of Lookup 2017-03-30 22:25:03 +00:00
align.go cmd/compile: add Type.WidthCalculated 2017-03-28 18:06:09 +00:00
asm_test.go cmd/compile: use ANDconst to mask out leading/trailing bits on ARM64 2017-04-06 17:59:32 +00:00
bexport.go cmd/compile: remove confusing comment, fix comment for symExport 2017-03-31 00:54:15 +00:00
bimport.go cmd/compile/internal/gc: npos(p, nod(o, l, r)) -> nodl(p, o, l, r) 2017-03-28 22:20:03 +00:00
bitset.go cmd/compile/internal/gc: replace Node.Ullman with Node.HasCall 2017-03-03 22:35:44 +00:00
bootstrap.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
builtin.go cmd/compile: intrinsics for math/bits.OnesCount 2017-04-04 02:40:11 +00:00
builtin_test.go
bv.go cmd/compile: Fatal instead of panic in large bvbulkalloc 2017-04-03 23:28:29 +00:00
checkcfg.go cmd/compile: check labels and gotos before building SSA 2017-03-15 21:44:57 +00:00
closure.go cmd/compile: remove lookupf 2017-03-30 22:57:21 +00:00
const.go cmd/compile: fix misleading "truncated to int" messages 2017-03-07 19:34:22 +00:00
constFold_test.go cmd/compile: use std "DO NOT EDIT" comment for generated files 2017-03-31 18:50:40 +00:00
dcl.go cmd/compile: clean up methodsym 2017-03-31 19:30:51 +00:00
esc.go cmd/compile: added special case for reflect header fields to esc 2017-03-29 17:39:59 +00:00
export.go cmd/compile: remove global var importpkg in favor of simple bool 2017-03-24 00:53:45 +00:00
fixedbugs_test.go
float_test.go cmd/compile: strength-reduce floating point 2017-04-03 21:27:03 +00:00
fmt.go cmd/compile: eliminate use of Trecur in formatting routines 2017-03-30 17:45:30 +00:00
gen.go cmd/compile: add newnamel, use in tempAt 2017-03-31 20:05:20 +00:00
global_test.go
go.go cmd/compile: remove confusing comment, fix comment for symExport 2017-03-31 00:54:15 +00:00
gsubr.go cmd/compile: add Prog cache to Progs 2017-04-06 04:53:50 +00:00
iface_test.go
init.go cmd/compile: minor init handling cleanup 2017-03-30 17:06:55 +00:00
inl.go cmd/compile: intrinsics for math/bits.{Len,LeadingZeros} 2017-03-16 22:53:49 +00:00
lex.go cmd/compile/internal/gc: unexport or remove global functions 2017-02-10 17:57:38 +00:00
lex_test.go cmd/compile: provide line number for cgo directive error (fix a TODO) 2017-02-02 21:24:50 +00:00
logic_test.go
main.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
mkbuiltin.go cmd/compile: use std "DO NOT EDIT" comment for generated files 2017-03-31 18:50:40 +00:00
mpfloat.go cmd/compile: use Fatalf for more internal errors 2017-03-14 17:58:38 +00:00
mpint.go cmd/compile: use Fatalf for more internal errors 2017-03-14 17:58:38 +00:00
noder.go cmd/compile/internal/syntax: always construct a correct syntax tree 2017-03-25 21:01:49 +00:00
obj.go cmd/compile: remove Pkglookup in favor of Lookup 2017-03-30 22:25:03 +00:00
opnames.go cmd/compile: check loop rescheduling with stack bound, not counter 2017-03-08 18:52:12 +00:00
order.go cmd/compile: don't mutate shared nodes in orderinit 2017-03-31 22:38:01 +00:00
pgen.go cmd/compile: add Prog cache to Progs 2017-04-06 04:53:50 +00:00
pgen_test.go cmd/compile: remove Type haspointers caches 2017-03-30 18:47:26 +00:00
phi.go cmd/compile: avoid infinite loops in dead blocks during phi insertion 2017-03-30 17:06:08 +00:00
plive.go cmd/compile: eliminate all references to Curfn in liveness 2017-03-24 03:28:09 +00:00
pprof.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
racewalk.go cmd/compile: replace all uses of ptrto by typPtr 2017-03-19 14:29:53 +00:00
range.go cmd/compile: replace all uses of ptrto by typPtr 2017-03-19 14:29:53 +00:00
reflect.go cmd/compile: use newnamel in typenamesym 2017-03-31 20:05:33 +00:00
reflect_test.go
select.go cmd/compile/internal/gc: cleanup selecttype 2017-03-28 22:36:26 +00:00
shift_test.go
sinit.go cmd/compile: unroll small static maps 2017-04-03 22:41:06 +00:00
sizeof_test.go cmd/compile: remove InterMethod type - not used anywhere 2017-04-06 03:54:03 +00:00
ssa.go cmd/compile: intrinsics for math/bits.OnesCount 2017-04-04 02:40:11 +00:00
ssa_test.go
subr.go cmd/compile: don't mutate shared nodes in orderinit 2017-03-31 22:38:01 +00:00
swt.go cmd/compile: use yyerrorl in typecheckswitch 2017-04-01 02:02:58 +00:00
swt_test.go
syntax.go cmd/compile: don't mutate shared nodes in orderinit 2017-03-31 22:38:01 +00:00
timings.go
trace.go
type.go cmd/compile: remove InterMethod type - not used anywhere 2017-04-06 03:54:03 +00:00
typecheck.go cmd/compile: clean up methodsym 2017-03-31 19:30:51 +00:00
universe.go cmd/compile: don't modify nodfp in AllocFrame 2017-04-03 01:22:58 +00:00
unsafe.go
util.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
walk.go cmd/compile: evaluate itabname during walk instead of SSA 2017-04-01 00:08:31 +00:00