if (filter.getPushInt() > 0 && vectorizePush[0]) {
if (filter.getPushInt() > 1 && vectorizePush[0]) {
    static void vectorize (SIRFilter filter) {        final boolean[] vectorizePush = {false};  // true if vector type reaches push statements.        Map<String,CType> vectorIds;        //        // move all field initializations out of declarations, just in case//        // vectorization marks a field as being vectorizable.//        FieldInitMover.moveFilterInitialAssignments(filter, FieldInitMover.MOVE_ARRAY_INITIALIZERS);                // determine all fields, locals in filter to vectorize, and mark constants to vectorize.        vectorIds = toVectorize(filter, vectorizePush);                if (debugging) {            System.err.println("Vectorize " + filter.getName() + " : ");            for (Map.Entry<String, CType> e : vectorIds.entrySet()) {                System.err.println(e.getKey()                        + " "                        + at.dms.kjc.common.CommonUtils.CTypeToString(e                                .getValue(), true));            }        }                // fix type of fields if need be.        JFieldDeclaration[] fields = filter.getFields();        for (int i = 0; i < fields.length; i++) {            fields[i] = fixFieldTypes(fields[i], vectorIds.keySet());        }        filter.setFields(fields);        // rewrite types, pops, peeks, and possible pushes as necessary in each method.        // define poke buffer here since JVariableDefinition must be shared.        // may or may not actually need buffer.        JVariableDefinition pokeBufDefn = new JVariableDefinition(                null,                at.dms.kjc.Constants.ACC_FINAL,                new CArrayType(filter.getOutputType(),                        1,                         new JExpression[]{new JIntLiteral(                                filter.getPushInt() * ((KjcOptions.vectorize / 4) - 1))}),                "__POKEBUFFER__",                null);        JVariableDefinition pokeBufOffsetDef = new JVariableDefinition(                CStdType.Integer, "__POKEBUFFERHEAD__");        JFieldAccessExpression pokeBufRef = new JFieldAccessExpression(                null,                new JThisExpression(),                pokeBufDefn.getIdent(),                new CSourceField(null,0,pokeBufDefn,false));        JFieldAccessExpression pokeBufOffset = new JFieldAccessExpression(                null,                new JThisExpression(),                 pokeBufOffsetDef.getIdent(),                new CSourceField(null,0,pokeBufOffsetDef,false));        JMethodDeclaration[] ms = filter.getMethods();        for (JMethodDeclaration m : ms) {            JBlock b = m.getBody();            JBlock newB = mungMethodBody(b, vectorizePush[0], vectorIds, filter, pokeBufRef, pokeBufOffset);            m.setBody(newB);        }                // pull vector constants to const (ACC_FINAL) fields or local variables.        raiseVectorConstants(filter);                // put in poke buffer handling        if (filter.getPushInt() > 0 && vectorizePush[0]) {            putInPokeBuffer(filter,pokeBufDefn,pokeBufRef,pokeBufOffsetDef,pokeBufOffset);        }  }