Singular value decomposition (SVD) plays an important role for MIMO precoding. To reduce the complexity of precoding based on SVD for large-scale MIMO systems, we first analyze the impact of SVD accuracy to the system performance and derive the error tolerance regarding the constellation, target bit error rate, and the number of transmitted spatial streams. Then, to perform SVD with given accuracy, aggressive split/deflation in the Golub-Reinsch (GR) SVD algorithm is adopted for finding the singular values. Furthermore, the shifted QR algorithm with the early termination mechanism is proposed to obtain only the desired singular vectors instead of all the singular vectors. Finally, we show that the aggressive split/deflation and early termination are effective, especially to process the correlated channel matrixes. The proper threshold setting can maintain the system performance with only tiny degradation. Compared to Golub-Reinsch (GR) SVD, the proposed scheme can achieve 15%∼60% complexity reduction.