macromem.isa (8588:ef28ed90449d) | macromem.isa (8607:5fb918115c07) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 549 unchanged lines hidden (view full) --- 558 'code' : microPackNeonCode }, 559 ['IsMicroop']) 560 header_output += MicroNeonMixLaneDeclare.subst(microPackNeonIop) 561 exec_output += MicroNeonMixExecute.subst(microPackNeonIop) 562}}; 563 564let {{ 565 exec_output = '' | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 549 unchanged lines hidden (view full) --- 558 'code' : microPackNeonCode }, 559 ['IsMicroop']) 560 header_output += MicroNeonMixLaneDeclare.subst(microPackNeonIop) 561 exec_output += MicroNeonMixExecute.subst(microPackNeonIop) 562}}; 563 564let {{ 565 exec_output = '' |
566 for type in ('uint8_t', 'uint16_t', 'uint32_t'): | 566 for typeSize in (8, 16, 32): |
567 for sRegs in 1, 2: | 567 for sRegs in 1, 2: |
568 for dRegs in range(sRegs, 5): | 568 for dRegs in range(sRegs, min(sRegs * 64 / typeSize + 1, 5)): |
569 for format in ("MicroUnpackNeon%(sRegs)dto%(dRegs)dUop", 570 "MicroUnpackAllNeon%(sRegs)dto%(dRegs)dUop", 571 "MicroPackNeon%(dRegs)dto%(sRegs)dUop"): 572 Name = format % { "sRegs" : sRegs * 2, 573 "dRegs" : dRegs * 2 } | 569 for format in ("MicroUnpackNeon%(sRegs)dto%(dRegs)dUop", 570 "MicroUnpackAllNeon%(sRegs)dto%(dRegs)dUop", 571 "MicroPackNeon%(dRegs)dto%(sRegs)dUop"): 572 Name = format % { "sRegs" : sRegs * 2, 573 "dRegs" : dRegs * 2 } |
574 substDict = { "class_name" : Name, "targs" : type } | 574 substDict = { "class_name" : Name, 575 "targs" : "uint%d_t" % typeSize } |
575 exec_output += MicroNeonExecDeclare.subst(substDict) 576}}; 577 578//////////////////////////////////////////////////////////////////// 579// 580// Integer = Integer op Immediate microops 581// 582 --- 120 unchanged lines hidden --- | 576 exec_output += MicroNeonExecDeclare.subst(substDict) 577}}; 578 579//////////////////////////////////////////////////////////////////// 580// 581// Integer = Integer op Immediate microops 582// 583 --- 120 unchanged lines hidden --- |