10
10
from executorch .backends .arm ._passes import (
11
11
AnnotateChannelsLastDimOrder ,
12
12
AnnotateDecomposedMatmulPass ,
13
- CastInt64ToInt32Pass ,
13
+ CastInt64BuffersToInt32Pass ,
14
+ CastToInt32Pass ,
14
15
ComputeConstantOpsAOT ,
15
16
Conv1dUnsqueezePass ,
16
17
ConvertAnyDefaultDimDimsPass ,
@@ -80,6 +81,8 @@ def _tosa_080_BI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
80
81
self .add_pass (ConvertToClampPass ())
81
82
self .add_pass (ConvertMinMaxPass ())
82
83
self .add_pass (ConvertAnyDefaultDimDimsPass ())
84
+ if isinstance (self .tosa_spec , Tosa_0_80 ) and self .tosa_spec .is_U55_subset :
85
+ self .add_pass (CastToInt32Pass ())
83
86
84
87
self .add_pass (ReplaceScalarWithTensorArgPass ())
85
88
self .add_pass (AnnotateDecomposedMatmulPass ())
@@ -94,7 +97,7 @@ def _tosa_080_BI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
94
97
self .add_pass (SizeAdjustConv2DPass ())
95
98
self .add_pass (ConvertExpandCopyToRepeatPass ())
96
99
self .add_pass (UnsqueezeBeforeRepeatPass ())
97
- self .add_pass (CastInt64ToInt32Pass (exported_program ))
100
+ self .add_pass (CastInt64BuffersToInt32Pass (exported_program ))
98
101
self .add_pass (KeepDimsFalseToSqueezePass ())
99
102
self .add_pass (Conv1dUnsqueezePass (exported_program ))
100
103
self .add_pass (DecomposeSelectPass ())
@@ -141,7 +144,7 @@ def _tosa_080_MI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
141
144
self .add_pass (SizeAdjustConv2DPass ())
142
145
self .add_pass (ConvertExpandCopyToRepeatPass ())
143
146
self .add_pass (UnsqueezeBeforeRepeatPass ())
144
- self .add_pass (CastInt64ToInt32Pass (exported_program ))
147
+ self .add_pass (CastInt64BuffersToInt32Pass (exported_program ))
145
148
self .add_pass (KeepDimsFalseToSqueezePass ())
146
149
self .add_pass (Conv1dUnsqueezePass (exported_program ))
147
150
self .add_pass (DecomposeSelectPass ())
0 commit comments