If you still have this problem, you may want to check out KWLinalg
This is a package, in which (among other things) functors are provided that already include the necessary workspace and output matrices. Say you have a matrix
A = rand(ComplexF64, 5, 4)
Then you can define the functor
f = svd_functor_divconquer(5, 4, ComplexF64)
After that, you can call
U, S, Vt = f(A)
with no further allocations (unless you are in the main-scope). See the example in the README of KWLinalg for a benchmark-test.